@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@1,400..900&family=Roboto+Flex:opsz,wdth,wght,GRAD,XTRA,YTAS,YTDE@8..144,25..151,100..1000,-200..150,530,649..854,-305..-98&family=Roboto+Mono:wght@700&family=Roboto+Slab:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200");
:host(:not([data-theme=dark])),
:root:not([data-theme=dark]),
[data-theme=light] {
  --border-radius: 0.25rem;
  --border-width: 0.15625rem;
  --border-width-thick: 0.25rem;
  --outline-width: .125rem;
  --spacing: 1rem;
  --typography-spacing-vertical: 1.1rem;
  --block-spacing-vertical: calc(var(--spacing) * 1);
  --block-spacing-horizontal: var(--spacing);
  --grid-spacing-vertical: var(--spacing);
  --grid-spacing-horizontal: var(--spacing);
  --form-element-spacing-vertical: calc(var(--spacing) * .5);
  --form-element-spacing-horizontal: calc(var(--spacing) * .5);
  --nav-element-spacing-vertical: calc(var(--spacing) * 1);
  --nav-element-spacing-horizontal: calc(var(--spacing) * .5);
  --nav-link-spacing-vertical: calc(var(--spacing) * .5);
  --nav-link-spacing-horizontal: calc(var(--spacing) * .5);
  --form-label-font-weight: 600;
  --form-label-font-size: 1rem;
  --transition: 300ms ease-in-out;
  --button-default-border-color: var(--primary);
  --button-text-transform: uppercase;
  --button-font-weight: 600;
  --button-font-size: 1rem;
  --button-border-width: var(--border-width);
  --accordion-font-size: 1.2rem;
  --accordion-text-transform: uppercase;
  --accordion-font-weight: 600;
  --box-shadow-light: 0 2px 8px rgba(0, 0, 0, 0.08),
  0 1.5px 3px rgba(0, 0, 0, 0.10);
  --box-shadow-up-light: 0 -2px 8px rgba(0, 0, 0, 0.08),
  0 -1.5px 3px rgba(0, 0, 0, 0.10);
  --box-shadow-heavy: 0 4px 16px rgba(0, 0, 0, 0.25),
  0 2px 6px rgba(0, 0, 0, 0.16);
  --box-shadow-up-heavy: 0 -4px 16px rgba(0, 0, 0, 0.18),
  0 -2px 6px rgba(0, 0, 0, 0.12);
  --pico-dropdown-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.10),
  0 2px 8px rgba(0, 0, 0, 0.12),
  0 0.5px 2px rgba(80, 80, 80, 0.08),
  0 0 0 1px rgba(80, 80, 80, 0.15);
  --panel-header-height: 3rem;
}

@media (min-width: 576px) {
  body > header,
  body > main,
  body > footer,
  section {
    --block-spacing-vertical: calc(var(--spacing) * 1);
  }
}
@media (min-width: 768px) {
  body > header,
  body > main,
  body > footer,
  section {
    --block-spacing-vertical: calc(var(--spacing) * 1);
  }
}
@media (min-width: 992px) {
  body > header,
  body > main,
  body > footer,
  section {
    --block-spacing-vertical: calc(var(--spacing) * 1);
  }
}
@media (min-width: 1200px) {
  body > header,
  body > main,
  body > footer,
  section {
    --block-spacing-vertical: calc(var(--spacing) * 1.5);
  }
}

@media (min-width: 576px) {
  article {
    --block-spacing-horizontal: calc(var(--spacing) * 1.25);
    --block-spacing-vertical: calc(var(--spacing) * 1.25);
  }
}
@media (min-width: 768px) {
  article {
    --block-spacing-horizontal: calc(var(--spacing) * 1.5);
    --block-spacing-vertical: calc(var(--spacing) * 1.5);
  }
}
@media (min-width: 992px) {
  article {
    --block-spacing-horizontal: calc(var(--spacing) * 1);
    --block-spacing-vertical: calc(var(--spacing) * 1);
  }
}
@media (min-width: 1200px) {
  article {
    --block-spacing-horizontal: calc(var(--spacing) * 1.1);
    --block-spacing-vertical: calc(var(--spacing) * 1.1);
  }
}

dialog > article {
  --block-spacing-vertical: calc(var(--spacing) * 2);
  --block-spacing-horizontal: var(--spacing);
}
@media (min-width: 576px) {
  dialog > article {
    --block-spacing-vertical: calc(var(--spacing) * 2.5);
    --block-spacing-horizontal: calc(var(--spacing) * 1.25);
  }
}
@media (min-width: 768px) {
  dialog > article {
    --block-spacing-vertical: calc(var(--spacing) * 3);
    --block-spacing-horizontal: calc(var(--spacing) * 1.5);
  }
}

:root {
  --pico-background-color: #f6f5f4;
  --color: hsl(205, 25%, 23%);
  --color-disabled: hsl(205, 10%, 50%);
  --h1-color: hsl(205, 20%, 32%);
  --h2-color: rgb(77.07375, 95.741875, 109.07625);
  --h3-color: hsl(205, 20%, 32%);
  --h4-color: rgb(54.63375, 72.706875, 85.61625);
  --h5-color: hsl(205, 20%, 32%);
  --h6-color: rgb(77.07375, 95.741875, 109.07625);
  --muted-color: hsl(205, 10%, 50%);
  --muted-border-color: hsl(205, 16%, 77%);
  --primary: rgb(0, 83, 155);
  --primary-hover: rgb(2, 137.4774193548, 255);
  --primary-focus: rgba(0, 83, 155, 0.125);
  --primary-inverse: rgb(253, 253, 255);
  --primary-highlight: rgba(6, 128, 205, 0.05);
  --secondary: rgb(88, 88, 91);
  --secondary-hover: rgb(113.0726256983, 114.3575418994, 116.9273743017);
  --secondary-focus: rgba(88, 89, 91, 0.125);
  --secondary-inverse: rgb(253, 253, 255);
  --secondary-muted: rgba(88, 89, 91, 0.25);
  --secondary-lighter: rgb(128, 130, 133);
  --secondary-light: rgb(88.501452514, 89.507150838, 91.518547486);
  --contrast: #000000;
  --contrast-hover: #000000;
  --contrast-focus: rgba(88.8675, 107.16375, 120.2325, 0.125);
  --contrast-inverse: rgb(253, 253, 255);
  --caution: rgb(230, 171, 46);
  --warning: rgb(204, 102, 40);
  --error: rgb(174, 62, 55);
  --error-highlight: hsl(6.5853658537, 70.0854700855%, 114.1176470588%);
  --danger: rgb(174, 62, 55);
  --success: rgb(127.5, 150, 61.5);
  --success-dark: rgb(78, 115, 42);
  --pending: rgb(105, 62, 113);
  --changed: rgb(6, 128, 205);
  --changed-highlight: rgb(237.0260663507, 247.7227488152, 254.4739336493);
  --current: rgb(127.5, 150, 61.5);
  --current-light: rgba(177, 185, 81, 0.25);
  --inactive: rgb(138.5810055866, 139.8603351955, 142.4189944134);
  --confidential: rgb(155.4102564103, 111.5384615385, 18.5897435897);
  --confidential-background: rgb(249.0705128205, 235.0769230769, 205.4294871795);
  --color-status-success: var(--success);
  --color-status-pending: var(--pending);
  --color-status-denied: var(--danger);
  --color-status-inproc: var(--changed);
  --color-status-with: var(--secondary-light);
  --duke-royal: rgb(0, 83, 155);
  --duke-navy: rgb(1, 33, 105);
  --duke-gray: rgb(88, 88, 91);
  --duke-gray-dark: var(--duke-med-gray-dark);
  --duke-gray-light: var(--duke-med-gray-light);
  --duke-gray-accent: var(--duke-med-gray-accent);
  --duke-gray-pale: var(--duke-med-gray-pale);
  --duke-med-royal: rgb(0, 83, 155);
  --duke-med-royal-blue: var(--duke-med-royal);
  --duke-med-navy: rgb(1, 33, 105);
  --duke-med-purple-pale: rgb(193, 178, 196);
  --duke-med-sky-blue-pale: rgb(180, 217, 240);
  --duke-med-orange: rgb(242, 133, 33);
  --duke-med-dark-green: rgb(78, 115, 42);
  --duke-med-dark-green-hover: rgb(116.0063694268, 171.0350318471, 62.4649681529);
  --duke-med-gray: rgb(88, 89, 91);
  --duke-med-grey: rgb(88, 89, 91);
  --duke-med-gray-light: rgb(125.6173184358, 127.0391061453, 129.8826815642);
  --duke-med-green: rgb(177, 185, 81);
  --duke-med-purple: rgb(105, 62, 113);
  --duke-med-purple-light: rgb(202.6, 170.4114285714, 208.5885714286);
  --duke-med-purple-dark: rgb(43.8, 25.8628571429, 47.1371428571);
  --duke-med-red: rgb(220, 74, 56);
  --duke-med-red-dark: rgb(174, 62, 55);
  --duke-med-red-extra-dark: rgb(96.4978165939, 34.384279476, 30.5021834061);
  --duke-med-red-light: rgb(239.0705128205, 172.6217948718, 164.4294871795);
  --duke-med-sky-blue: rgb(6, 128, 205);
  --duke-med-sky-blue-light: rgb(14.0521327014, 157.4454976303, 247.9478672986);
  --duke-med-slate: rgb(100, 118, 164);
  --duke-med-slate-light: rgb(165, 173, 202);
  --duke-med-yellow: rgb(245, 200, 103);
  --duke-med-yellow-dark: rgb(230, 171, 46);
  --duke-med-yellow-light: rgb(246.5740740741, 208.6574074074, 126.9259259259);
  --duke-med-yellow-pale: rgb(252.8703703704, 243.287037037, 222.6296296296);
  --duke-med-gray-accent: rgb(188, 190, 192);
  --duke-med-gray-pale: rgb(229.3268156425, 229.6089385475, 230.1731843575);
  --pico-table-border-color: rgb(164.5083798883, 164.5083798883, 167.4916201117);
  --duke-health-royal-blue: rgb(0, 83, 155);
  --duke-health-green: rgb(94, 128, 44);
  --duke-health-sky-blue: rgb(64, 126, 153);
  --duke-health-sky-blue-20: rgba(64, 126, 153, 0.2);
  --duke-health-sky-blue-10: rgba(64, 126, 153, 0.1);
  --duke-health-gray: rgb(88, 89, 91);
  --duke-health-light-green: rgb(160, 184, 58);
  --duke-health-teal: rgb(29, 99, 99);
  --duke-health-purple: rgb(100, 82, 143);
  --duke-health-light-blue: rgb(131, 216, 254);
  --duke-health-black-20: rgba(0, 0, 0, 0.2);
  --duke-health-yellow: rgb(238, 189, 96);
  --duke-health-orange: rgb(224, 117, 11);
  --duke-health-red: rgb(176, 61, 51);
  --duke-health-black-40: rgba(0, 0, 0, 0.4);
  --duke-univ-copper: rgb(200, 78, 0);
  --duke-univ-persimmon: rgb(232, 153, 35);
  --duke-univ-dandelion: rgb(255, 217, 96);
  --duke-univ-piedmont: rgb(161, 183, 13);
  --duke-univ-eno: rgb(51, 152, 152);
  --duke-univ-magnolia: rgb(29, 99, 99);
  --duke-univ-prussian-blue: rgb(0, 85, 135);
  --duke-univ-shale-blue: rgb(5, 119, 177);
  --duke-univ-ironweed: rgb(153, 51, 153);
  --duke-univ-hatteras: rgb(226, 230, 237);
  --duke-univ-whisper-gray: rgb(243, 242, 241);
  --duke-univ-ginger-beer: rgb(252, 247, 229);
  --duke-univ-dogwood: rgb(152, 134, 117);
  --duke-univ-shackleford: rgb(218, 208, 198);
  --duke-univ-cast-iron: rgb(38, 38, 38);
  --duke-univ-graphite: rgb(102, 102, 102);
  --duke-univ-granite: rgb(181, 181, 181);
  --duke-univ-limestone: rgb(229, 229, 229);
  --mark-background-color: #fff2ca;
  --mark-color: rgb(83.83125, 57.871875, 37.29375);
  --selected-text-background: rgba(6, 128, 205, 0.4);
  --selected-text-background-lighter: rgba(6, 128, 205, 0.1);
  --ins-color: #388e3c;
  --del-color: #c62828;
  --blockquote-border-color: var(--muted-border-color);
  --blockquote-footer-color: var(--muted-color);
  --button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --form-element-background-color: rgb(253, 253, 255);
  --form-element-border-color: hsl(205, 14%, 68%);
  --form-element-color: var(--color);
  --form-element-placeholder-color: var(--muted-color);
  --form-element-active-background-color: var(--primary-inverse);
  --form-element-active-border-color: var(--primary);
  --form-element-focus-color: var(--primary-focus);
  --form-element-disabled-background-color: hsl(205, 18%, 86%);
  --form-element-disabled-border-color: hsl(205, 14%, 68%);
  --form-element-disabled-opacity: 0.5;
  --form-element-changed-border-color: var(--changed);
  --form-element-changed-background: var(--changed-highlight);
  --form-element-invalid-border-color: rgb(220, 74, 56);
  --form-element-invalid-background-color: rgba(220, 74, 56, 0.125);
  --form-element-invalid-active-border-color: rgb(220, 74, 56);
  --form-element-invalid-focus-color: rgba(220, 74, 56, 0.125);
  --form-element-valid-border-color: rgb(78, 115, 42);
  --form-element-valid-active-border-color: rgb(177, 185, 81);
  --form-element-valid-focus-color: rgba(177, 185, 81, 0.125);
  --form-element-invalid-border-color: rgb(220, 74, 56);
  --form-element-invalid-background-color: rgba(220, 74, 56, 0.125);
  --form-element-invalid-active-border-color: rgb(220, 74, 56);
  --form-element-invalid-focus-color: rgba(220, 74, 56, 0.125);
  --form-element-valid-border-color: rgb(78, 115, 42);
  --form-element-valid-active-border-color: rgb(177, 185, 81);
  --form-element-valid-focus-color: rgba(177, 185, 81, 0.125);
  --switch-background-color: hsl(205, 16%, 77%);
  --switch-color: var(--primary-inverse);
  --switch-checked-background-color: var(--primary);
  --range-border-color: hsl(205, 18%, 86%);
  --range-active-border-color: hsl(205, 16%, 77%);
  --range-thumb-border-color: var(--background-color);
  --range-thumb-color: var(--secondary);
  --range-thumb-hover-color: var(--secondary-hover);
  --range-thumb-active-color: var(--primary);
  --table-border-color: var(--muted-border-color);
  --table-row-stripped-background-color: rgb(244.82, 246.605, 248.88);
  --code-background-color: hsl(205, 20%, 94%);
  --code-color: var(--muted-color);
  --code-kbd-background-color: var(--contrast);
  --code-kbd-color: var(--contrast-inverse);
  --code-tag-color: hsl(330, 40%, 50%);
  --code-property-color: hsl(185, 40%, 40%);
  --code-value-color: hsl(40, 20%, 50%);
  --code-comment-color: hsl(205, 14%, 68%);
  --accordion-border-color: var(--muted-border-color);
  --accordion-close-summary-color: rgb(0, 83, 155);
  --accordion-open-summary-color: rgb(88, 88, 91);
  --card-background-color: rgb(253, 253, 255);
  --card-border-color: var(--muted-border-color);
  --card-box-shadow: 0 0.125rem 0.5rem rgba(26.775, 40.1625, 49.725, 0.2),
  0 0.25rem 2rem rgba(26.775, 40.1625, 49.725, 0.08),
  0 0 0 0.0625rem rgba(26.775, 40.1625, 49.725, 0.024);
  --card-tab-box-shadow: 0 -0.25rem 0.7rem rgba(26.775, 40.1625, 49.725, 0.2),
  0 -0.25rem 1.75rem rgba(26.775, 40.1625, 49.725, 0.08),
  0 -0.125rem 0 0.0625rem rgba(26.775, 40.1625, 49.725, 0.024);
  --card-sectionning-background-color: rgb(248.91, 249.8025, 251.94);
  --card-box-shadow-hover: 0 0.125rem 0.5rem rgba(26.775, 40.1625, 49.725, 0.4),
  0 0.125rem 2rem rgba(26.775, 40.1625, 49.725, 0.28),
  0 0 0 0.0625rem rgba(26.775, 40.1625, 49.725, 0.054);
  --dropdown-background-color: rgb(248.91, 249.8025, 251.94);
  --dropdown-border-color: rgb(224.757, 230.2905, 234.243);
  --dropdown-box-shadow: var(--card-box-shadow);
  --dropdown-color: var(--color);
  --dropdown-hover-background-color: var(--primary-highlight);
  --modal-overlay-background-color: transparent;
  --progress-background-color: var(--secondary-muted);
  --progress-color: var(--changed);
  --loading-spinner-opacity: 0.5;
  --tooltip-background-color: var(--contrast);
  --tooltip-color: var(--contrast-inverse);
  --duke-med-yellow-pale-x: hsl(40.985915493, 87.6543209877%, 128.2352941176%);
  --duke-med-sky-blue-pale-x: hsl(203.216080402, 94.3127962085%, 101.3725490196%);
  --duke-med-gray-pale-x: rgb(242.2905027933, 242.4301675978, 242.7094972067);
}

p.large, a.large, li.large, span.large, input.large, button.large, select.large, textarea.large {
  font-size: 125%;
}

:root {
  --pico-font-family-sans-serif: "Roboto Flex", system-ui, -apple-system, "Segoe UI", "Roboto", "Ubuntu",
    "Cantarell", "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
    "Segoe UI Symbol", "Noto Color Emoji";
  --pico-line-height: 1.0;
  --pico-font-weight: 400;
  --pico-font-size: 14px;
}
@media (min-width: 576px) {
  :root {
    --font-size: 17px;
  }
}
@media (min-width: 768px) {
  :root {
    --font-size: 18px;
  }
}
@media (min-width: 992px) {
  :root {
    --font-size: 16px;
  }
}
@media (min-width: 1200px) {
  :root {
    --font-size: 16px;
  }
}
:root a {
  --text-decoration: none;
}
:root a.secondary, :root a.contrast {
  --text-decoration: underline;
}
:root small {
  --font-size: 0.875em;
}
:root h1,
:root h2,
:root h3,
:root h4,
:root h5,
:root h6 {
  --font-weight: 400;
  --pico-font-weight: var(--font-weight);
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
:root h1 {
  --font-size: 2.5rem;
  --font-weight: 200;
  --typography-spacing-vertical: 1.5rem;
}
:root h2 {
  --font-size: 2.0rem;
  --font-weight: 200;
  --typography-spacing-vertical: 1.25rem;
}
:root h3 {
  --font-size: 1.75rem;
  --font-weight: 200;
  --typography-spacing-vertical: 1.25rem;
}
:root h4 {
  --font-size: 1.5rem;
  --font-weight: 400;
  --typography-spacing-vertical: 0.874rem;
}
:root h5 {
  --font-size: 1.25rem;
  --font-weight: 600;
  --typography-spacing-vertical: 0.6875rem;
}
:root h6 {
  --font-size: 1rem;
  --font-weight: 600;
  --typography-spacing-vertical: 0.6875rem;
}
:root .slab {
  font-family: "Roboto Slab", "Roboto Flex", "Roboto", sans-serif;
}
:root [type=checkbox][role=switch] {
  --border-width: 3px;
}
:root :not(thead):not(tfoot) > * > td {
  --font-size: 0.875em;
}
:root pre,
:root code,
:root kbd,
:root samp {
  --font-family: "Menlo", "Consolas", "Roboto Mono", "Ubuntu Monospace",
    "Noto Mono", "Oxygen Mono", "Liberation Mono", monospace,
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
:root kbd {
  --font-weight: bolder;
}

:root {
  --icon-checkbox: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23FFF' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  --icon-selected: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(78, 115, 42, 0.999)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  --icon-selected: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(78, 115, 42, 0.999)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  --icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(65.28, 84.32, 97.92, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  --icon-chevron-button: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(0, 83, 155, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  --icon-chevron-button-inverse: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(253, 253, 255, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  --icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(174, 62, 55, 0.999)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
  --icon-close-gray: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(114.75, 129.625, 140.25, 0.999)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
  --icon-date: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(65.28, 84.32, 97.92, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
  --icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(220, 74, 56, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
  --icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(220, 74, 56, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
  --icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23FFF' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");
  --icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(65.28, 84.32, 97.92, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
  --icon-time: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(65.28, 84.32, 97.92, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
  --icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(78, 115, 42, 0.999)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  --icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(78, 115, 42, 0.999)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  --icon-percent: url("data:image/svg+xml,%3Csvg width='173' height='173' viewBox='0 0 173 173' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='mask0_1_7' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='173' height='173'%3E%3Crect y='0.5' width='172.5' height='172.5' fill='%23D9D9D9'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_1_7)'%3E%3Cpath d='M53.9062 79.5625C46.9583 79.5625 41.0286 77.1068 36.1172 72.1953C31.2057 67.2839 28.75 61.3542 28.75 54.4062C28.75 47.4583 31.2057 41.5286 36.1172 36.6172C41.0286 31.7057 46.9583 29.25 53.9062 29.25C60.8542 29.25 66.7839 31.7057 71.6953 36.6172C76.6068 41.5286 79.0625 47.4583 79.0625 54.4062C79.0625 61.3542 76.6068 67.2839 71.6953 72.1953C66.7839 77.1068 60.8542 79.5625 53.9062 79.5625ZM53.9062 65.1875C56.901 65.1875 59.4466 64.1393 61.543 62.043C63.6393 59.9466 64.6875 57.401 64.6875 54.4062C64.6875 51.4115 63.6393 48.8659 61.543 46.7695C59.4466 44.6732 56.901 43.625 53.9062 43.625C50.9115 43.625 48.3659 44.6732 46.2695 46.7695C44.1732 48.8659 43.125 51.4115 43.125 54.4062C43.125 57.401 44.1732 59.9466 46.2695 62.043C48.3659 64.1393 50.9115 65.1875 53.9062 65.1875ZM118.594 144.25C111.646 144.25 105.716 141.794 100.805 136.883C95.8932 131.971 93.4375 126.042 93.4375 119.094C93.4375 112.146 95.8932 106.216 100.805 101.305C105.716 96.3932 111.646 93.9375 118.594 93.9375C125.542 93.9375 131.471 96.3932 136.383 101.305C141.294 106.216 143.75 112.146 143.75 119.094C143.75 126.042 141.294 131.971 136.383 136.883C131.471 141.794 125.542 144.25 118.594 144.25ZM118.594 129.875C121.589 129.875 124.134 128.827 126.23 126.73C128.327 124.634 129.375 122.089 129.375 119.094C129.375 116.099 128.327 113.553 126.23 111.457C124.134 109.361 121.589 108.312 118.594 108.312C115.599 108.312 113.053 109.361 110.957 111.457C108.861 113.553 107.812 116.099 107.812 119.094C107.812 122.089 108.861 124.634 110.957 126.73C113.053 128.827 115.599 129.875 118.594 129.875ZM38.8125 144.25L28.75 134.188L133.688 29.25L143.75 39.3125L38.8125 144.25Z' fill='%231C1B1F'/%3E%3C/g%3E%3C/svg%3E");
}

[data-theme=dark] {
  --pico-icon-loading: url("data:image/svg+xml,%3Csvg fill='none' height='24' width='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite; transform-origin: center center; %7D circle %7B stroke-dasharray: 75,100; stroke-dashoffset: -5; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; %7D @keyframes rotate %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray: 1,100; stroke-dashoffset: 0; %7D 50%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -17.5; %7D 100%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -62; %7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='rgba(188, 190, 192, 0.99)' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E");
}

[data-theme=light] {
  --pico-icon-loading: url("data:image/svg+xml,%3Csvg fill='none' height='24' width='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite; transform-origin: center center; %7D circle %7B stroke-dasharray: 75,100; stroke-dashoffset: -5; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; %7D @keyframes rotate %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray: 1,100; stroke-dashoffset: 0; %7D 50%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -17.5; %7D 100%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -62; %7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='rgb(188, 190, 192)' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E");
}

svg.icons {
  width: 1.5em;
  height: 1.5em;
  stroke-width: 2px;
}

summary:hover > svg.icons,
a:hover > svg.icons,
button:hover > svg.icons {
  stroke-width: 2.75px;
}

:root {
  --icon-font-variation: "FILL" 0, "wght" 400, "GRAD" 0 ;
}

.close {
  cursor: pointer;
}

.icon, a.sortable:after {
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: inherit;
  line-height: inherit;
  font-variation-settings: var(--icon-font-variation), "opsz" 16;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  vertical-align: middle;
  word-wrap: normal;
  direction: ltr;
  vertical-align: middle;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}

.icon.md-18, a.md-18.sortable:after {
  font-size: 18px;
  font-variation-settings: var(--icon-font-variation), "opsz" 18;
}

.icon.md-24, a.md-24.sortable:after {
  font-size: 24px;
  font-variation-settings: var(--icon-font-variation), "opsz" 24;
}

.icon.md-32, a.md-32.sortable:after {
  font-size: 32px;
  font-variation-settings: var(--icon-font-variation), "opsz" 32;
}

.icon.md-36, a.md-36.sortable:after {
  font-size: 36px;
  font-variation-settings: var(--icon-font-variation), "opsz" 36;
}

.icon.md-48, a.md-48.sortable:after {
  font-size: 48px;
  font-variation-settings: var(--icon-font-variation), "opsz" 48;
}

/* Rules for using icons as black on a light background. */
.icon.md-dark, a.md-dark.sortable:after {
  color: rgba(0, 0, 0, 0.54);
}

.icon.md-dark.md-inactive, a.md-dark.md-inactive.sortable:after {
  color: rgba(0, 0, 0, 0.26);
}

/* Rules for using icons as white on a dark background. */
.icon.md-light, a.md-light.sortable:after {
  color: rgb(255, 255, 255);
}

.icon.md-light.md-inactive, a.md-light.md-inactive.sortable:after {
  color: rgba(255, 255, 255, 0.3);
}

/* Aligns and fits icon with surrounding text in a Icons::IconAndTextLinkComponent */
a.link-icon {
  display: inline-flex;
  align-items: flex-end;
}
a.link-icon:hover {
  text-decoration: none;
}
a.link-icon:hover span {
  text-decoration: none;
}
a.link-icon span.icon {
  margin: 0 0.25em;
}
a.link-icon span.icon:hover {
  text-decoration: none;
}

a.edit-action:hover {
  text-decoration: none;
}
a.edit-action span.icon {
  margin: 0;
}
a.edit-action span.icon:hover {
  text-decoration: none;
}

.icon-top-right {
  font-size: 1.5em;
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  margin: 0.5em;
}

.icon-with-text {
  display: flex;
  flex: 1 1 0;
  align-items: center;
  vertical-align: baseline;
}

:root {
  --lucide-info: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22rgb%28136%2C%20145%2C%20164%29%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M12%2016v-4%22%2F%3E%3Cpath%20d%3D%22M12%208h.01%22%2F%3E%3C%2Fsvg%3E");
  --lucide-trash: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22rgb%28136%2C%20145%2C%20164%29%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M19%206v14a2%202%200%200%201-2%202H7a2%202%200%200%201-2-2V6%22%2F%3E%3Cpath%20d%3D%22M3%206h18%22%2F%3E%3Cpath%20d%3D%22M8%206V4a2%202%200%200%201%202-2h4a2%202%200%200%201%202%202v2%22%2F%3E%3C%2Fsvg%3E");
  --lucide-refresh-cw: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22rgb%28136%2C%20145%2C%20164%29%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2012a9%209%200%200%201%209-9%209.75%209.75%200%200%201%206.74%202.74L21%208%22%2F%3E%3Cpath%20d%3D%22M21%203v5h-5%22%2F%3E%3Cpath%20d%3D%22M21%2012a9%209%200%200%201-9%209%209.75%209.75%200%200%201-6.74-2.74L3%2016%22%2F%3E%3Cpath%20d%3D%22M8%2016H3v5%22%2F%3E%3C%2Fsvg%3E");
  --lucide-triangle-alert: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22rgb%28136%2C%20145%2C%20164%29%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m21.73%2018-8-14a2%202%200%200%200-3.48%200l-8%2014A2%202%200%200%200%204%2021h16a2%202%200%200%200%201.73-3%22%2F%3E%3Cpath%20d%3D%22M12%209v4%22%2F%3E%3Cpath%20d%3D%22M12%2017h.01%22%2F%3E%3C%2Fsvg%3E");
  --lucide-circle-check: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22rgb%28136%2C%20145%2C%20164%29%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%2F%3E%3C%2Fsvg%3E");
  --lucide-ban: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22rgb%28136%2C%20145%2C%20164%29%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4.929%204.929%2019.07%2019.071%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3C%2Fsvg%3E");
  --lucide-octagon-alert: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22rgb%28136%2C%20145%2C%20164%29%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2016h.01%22%2F%3E%3Cpath%20d%3D%22M12%208v4%22%2F%3E%3Cpath%20d%3D%22M15.312%202a2%202%200%200%201%201.414.586l4.688%204.688A2%202%200%200%201%2022%208.688v6.624a2%202%200%200%201-.586%201.414l-4.688%204.688a2%202%200%200%201-1.414.586H8.688a2%202%200%200%201-1.414-.586l-4.688-4.688A2%202%200%200%201%202%2015.312V8.688a2%202%200%200%201%20.586-1.414l4.688-4.688A2%202%200%200%201%208.688%202z%22%2F%3E%3C%2Fsvg%3E");
  --lucide-slash: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22rgb%28136%2C%20145%2C%20164%29%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M22%202%202%2022%22%2F%3E%3C%2Fsvg%3E");
  --lucide-refresh-ccw: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22rgb%28136%2C%20145%2C%20164%29%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2012a9%209%200%200%200-9-9%209.75%209.75%200%200%200-6.74%202.74L3%208%22%2F%3E%3Cpath%20d%3D%22M3%203v5h5%22%2F%3E%3Cpath%20d%3D%22M3%2012a9%209%200%200%200%209%209%209.75%209.75%200%200%200%206.74-2.74L21%2016%22%2F%3E%3Cpath%20d%3D%22M16%2016h5v5%22%2F%3E%3C%2Fsvg%3E");
  --lucide-circle-x: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22rgb%28136%2C%20145%2C%20164%29%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22m15%209-6%206%22%2F%3E%3Cpath%20d%3D%22m9%209%206%206%22%2F%3E%3C%2Fsvg%3E");
  --lucide-history: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22rgb%28136%2C%20145%2C%20164%29%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2012a9%209%200%201%200%209-9%209.75%209.75%200%200%200-6.74%202.74L3%208%22%2F%3E%3Cpath%20d%3D%22M3%203v5h5%22%2F%3E%3Cpath%20d%3D%22M12%207v5l4%202%22%2F%3E%3C%2Fsvg%3E");
  --lucide-hammer: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22rgb%28136%2C%20145%2C%20164%29%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m15%2012-9.373%209.373a1%201%200%200%201-3.001-3L12%209%22%2F%3E%3Cpath%20d%3D%22m18%2015%204-4%22%2F%3E%3Cpath%20d%3D%22m21.5%2011.5-1.914-1.914A2%202%200%200%201%2019%208.172v-.344a2%202%200%200%200-.586-1.414l-1.657-1.657A6%206%200%200%200%2012.516%203H9l1.243%201.243A6%206%200%200%201%2012%208.485V10l2%202h1.172a2%202%200%200%201%201.414.586L18.5%2014.5%22%2F%3E%3C%2Fsvg%3E");
  --lucide-panel-bottom-open: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22rgb%28136%2C%20145%2C%20164%29%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20width%3D%2218%22%20height%3D%2218%22%20x%3D%223%22%20y%3D%223%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M3%2015h18%22%2F%3E%3Cpath%20d%3D%22m9%2010%203-3%203%203%22%2F%3E%3C%2Fsvg%3E");
  --lucide-panel-bottom-close: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22rgb%28136%2C%20145%2C%20164%29%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20width%3D%2218%22%20height%3D%2218%22%20x%3D%223%22%20y%3D%223%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M3%2015h18%22%2F%3E%3Cpath%20d%3D%22m15%208-3%203-3-3%22%2F%3E%3C%2Fsvg%3E");
  --lucide-dollar-sign: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22rgb%28136%2C%20145%2C%20164%29%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cline%20x1%3D%2212%22%20x2%3D%2212%22%20y1%3D%222%22%20y2%3D%2222%22%2F%3E%3Cpath%20d%3D%22M17%205H9.5a3.5%203.5%200%200%200%200%207h5a3.5%203.5%200%200%201%200%207H6%22%2F%3E%3C%2Fsvg%3E");
}

form {
  --pico-form-element-spacing-vertical: 0.25rem;
  --pico-form-element-spacing-horizontal: 0.25rem;
  --pico-line-height: 1.3rem;
}

:root {
  --pico-typography-spacing-vertical: 0.5rem;
  --pico-block-spacing-horizontal: 0.5rem;
  --pico-block-spacing-vertical: 0.5rem;
}

/*
 * Default Trix editor styles. See Action Text overwrites below.
*/
trix-editor {
  border: 1px solid #bbb;
  border-radius: 3px;
  margin: 0;
  padding: 0.4em 0.6em;
  min-height: 25em;
  outline: none;
}

trix-toolbar * {
  box-sizing: border-box;
}

trix-toolbar .trix-button-row {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  overflow-x: auto;
}

trix-toolbar .trix-button-group {
  display: flex;
  margin-bottom: 10px;
  border: 1px solid #bbb;
  border-top-color: #ccc;
  border-bottom-color: #888;
  border-radius: 3px;
}

trix-toolbar .trix-button-group:not(:first-child) {
  margin-left: 1.5vw;
}

@media (max-width: 768px) {
  trix-toolbar .trix-button-group:not(:first-child) {
    margin-left: 0;
  }
}
trix-toolbar .trix-button-group-spacer {
  flex-grow: 1;
}

@media (max-width: 768px) {
  trix-toolbar .trix-button-group-spacer {
    display: none;
  }
}
trix-toolbar .trix-button {
  position: relative;
  float: left;
  color: rgba(0, 0, 0, 0.6);
  font-size: 0.75em;
  font-weight: 600;
  white-space: nowrap;
  padding: 0 0.5em;
  margin: 0;
  outline: none;
  border: none;
  border-bottom: 1px solid #ddd;
  border-radius: 0;
  background: transparent;
}

trix-toolbar .trix-button:not(:first-child) {
  border-left: 1px solid #ccc;
}

trix-toolbar .trix-button.trix-active {
  background: #cbeefa;
  color: black;
}

trix-toolbar .trix-button:not(:disabled) {
  cursor: pointer;
}

trix-toolbar .trix-button:disabled {
  color: rgba(0, 0, 0, 0.125);
}

@media (max-width: 768px) {
  trix-toolbar .trix-button {
    letter-spacing: -0.01em;
    padding: 0 0.3em;
  }
}
trix-toolbar .trix-button--icon {
  font-size: inherit;
  width: 2.6em;
  height: 1.6em;
  max-width: calc(0.8em + 4vw);
  text-indent: -9999px;
}

@media (max-width: 768px) {
  trix-toolbar .trix-button--icon {
    height: 2em;
    max-width: calc(0.8em + 3.5vw);
  }
}
trix-toolbar .trix-button--icon::before {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0.6;
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

@media (max-width: 768px) {
  trix-toolbar .trix-button--icon::before {
    right: 6%;
    left: 6%;
  }
}
trix-toolbar .trix-button--icon.trix-active::before {
  opacity: 1;
}

trix-toolbar .trix-button--icon:disabled::before {
  opacity: 0.125;
}

trix-toolbar .trix-button--icon-attach::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.5%2018V7.5c0-2.25%203-2.25%203%200V18c0%204.125-6%204.125-6%200V7.5c0-6.375%209-6.375%209%200V18%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  top: 8%;
  bottom: 4%;
}

trix-toolbar .trix-button--icon-bold::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.522%2019.242a.5.5%200%200%201-.5-.5V5.35a.5.5%200%200%201%20.5-.5h5.783c1.347%200%202.46.345%203.24.982.783.64%201.216%201.562%201.216%202.683%200%201.13-.587%202.129-1.476%202.71a.35.35%200%200%200%20.049.613c1.259.56%202.101%201.742%202.101%203.22%200%201.282-.483%202.334-1.363%203.063-.876.726-2.132%201.12-3.66%201.12h-5.89ZM9.27%207.347v3.362h1.97c.766%200%201.347-.17%201.733-.464.38-.291.587-.716.587-1.27%200-.53-.183-.928-.513-1.198-.334-.273-.838-.43-1.505-.43H9.27Zm0%205.606v3.791h2.389c.832%200%201.448-.177%201.853-.497.399-.315.614-.786.614-1.423%200-.62-.22-1.077-.63-1.385-.418-.313-1.053-.486-1.905-.486H9.27Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-italic::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9%205h6.5v2h-2.23l-2.31%2010H13v2H6v-2h2.461l2.306-10H9V5Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-link::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M18.948%205.258a4.337%204.337%200%200%200-6.108%200L11.217%206.87a.993.993%200%200%200%200%201.41c.392.39%201.027.39%201.418%200l1.623-1.613a2.323%202.323%200%200%201%203.271%200%202.29%202.29%200%200%201%200%203.251l-2.393%202.38a3.021%203.021%200%200%201-4.255%200l-.05-.049a1.007%201.007%200%200%200-1.418%200%20.993.993%200%200%200%200%201.41l.05.049a5.036%205.036%200%200%200%207.091%200l2.394-2.38a4.275%204.275%200%200%200%200-6.072Zm-13.683%2013.6a4.337%204.337%200%200%200%206.108%200l1.262-1.255a.993.993%200%200%200%200-1.41%201.007%201.007%200%200%200-1.418%200L9.954%2017.45a2.323%202.323%200%200%201-3.27%200%202.29%202.29%200%200%201%200-3.251l2.344-2.331a2.579%202.579%200%200%201%203.631%200c.392.39%201.027.39%201.419%200a.993.993%200%200%200%200-1.41%204.593%204.593%200%200%200-6.468%200l-2.345%202.33a4.275%204.275%200%200%200%200%206.072Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-strike::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6%2014.986c.088%202.647%202.246%204.258%205.635%204.258%203.496%200%205.713-1.728%205.713-4.463%200-.275-.02-.536-.062-.781h-3.461c.398.293.573.654.573%201.123%200%201.035-1.074%201.787-2.646%201.787-1.563%200-2.773-.762-2.91-1.924H6ZM6.432%2010h3.763c-.632-.314-.914-.715-.914-1.273%200-1.045.977-1.739%202.432-1.739%201.475%200%202.52.723%202.617%201.914h2.764c-.05-2.548-2.11-4.238-5.39-4.238-3.145%200-5.392%201.719-5.392%204.316%200%20.363.04.703.12%201.02ZM4%2011a1%201%200%201%200%200%202h15a1%201%200%201%200%200-2H4Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-quote::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M4.581%208.471c.44-.5%201.056-.834%201.758-.995C8.074%207.17%209.201%207.822%2010%208.752c1.354%201.578%201.33%203.555.394%205.277-.941%201.731-2.788%203.163-4.988%203.56a.622.622%200%200%201-.653-.317c-.113-.205-.121-.49.16-.764.294-.286.567-.566.791-.835.222-.266.413-.54.524-.815.113-.28.156-.597.026-.908-.128-.303-.39-.524-.72-.69a3.02%203.02%200%200%201-1.674-2.7c0-.905.283-1.59.72-2.088Zm9.419%200c.44-.5%201.055-.834%201.758-.995%201.734-.306%202.862.346%203.66%201.276%201.355%201.578%201.33%203.555.395%205.277-.941%201.731-2.789%203.163-4.988%203.56a.622.622%200%200%201-.653-.317c-.113-.205-.122-.49.16-.764.294-.286.567-.566.791-.835.222-.266.412-.54.523-.815.114-.28.157-.597.026-.908-.127-.303-.39-.524-.72-.69a3.02%203.02%200%200%201-1.672-2.701c0-.905.283-1.59.72-2.088Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-heading-1::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21.5%207.5v-3h-12v3H14v13h3v-13h4.5ZM9%2013.5h3.5v-3h-10v3H6v7h3v-7Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-code::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.293%2011.293a1%201%200%200%200%200%201.414l4%204a1%201%200%201%200%201.414-1.414L5.414%2012l3.293-3.293a1%201%200%200%200-1.414-1.414l-4%204Zm13.414%205.414%204-4a1%201%200%200%200%200-1.414l-4-4a1%201%200%201%200-1.414%201.414L18.586%2012l-3.293%203.293a1%201%200%200%200%201.414%201.414Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-bullet-list::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%207.5a1.5%201.5%200%201%200%200-3%201.5%201.5%200%200%200%200%203ZM8%206a1%201%200%200%201%201-1h11a1%201%200%201%201%200%202H9a1%201%200%200%201-1-1Zm1%205a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm0%206a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm-2.5-5a1.5%201.5%200%201%201-3%200%201.5%201.5%200%200%201%203%200ZM5%2019.5a1.5%201.5%200%201%200%200-3%201.5%201.5%200%200%200%200%203Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-number-list::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3%204h2v4H4V5H3V4Zm5%202a1%201%200%200%201%201-1h11a1%201%200%201%201%200%202H9a1%201%200%200%201-1-1Zm1%205a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm0%206a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm-3.5-7H6v1l-1.5%202H6v1H3v-1l1.667-2H3v-1h2.5ZM3%2017v-1h3v4H3v-1h2v-.5H4v-1h1V17H3Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-undo::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3%2014a1%201%200%200%200%201%201h6a1%201%200%201%200%200-2H6.257c2.247-2.764%205.151-3.668%207.579-3.264%202.589.432%204.739%202.356%205.174%205.405a1%201%200%200%200%201.98-.283c-.564-3.95-3.415-6.526-6.825-7.095C11.084%207.25%207.63%208.377%205%2011.39V8a1%201%200%200%200-2%200v6Zm2-1Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-redo::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21%2014a1%201%200%200%201-1%201h-6a1%201%200%201%201%200-2h3.743c-2.247-2.764-5.151-3.668-7.579-3.264-2.589.432-4.739%202.356-5.174%205.405a1%201%200%200%201-1.98-.283c.564-3.95%203.415-6.526%206.826-7.095%203.08-.513%206.534.614%209.164%203.626V8a1%201%200%201%201%202%200v6Zm-2-1Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-decrease-nesting-level::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%206a1%201%200%200%201%201-1h12a1%201%200%201%201%200%202H6a1%201%200%200%201-1-1Zm4%205a1%201%200%201%200%200%202h9a1%201%200%201%200%200-2H9Zm-3%206a1%201%200%201%200%200%202h12a1%201%200%201%200%200-2H6Zm-3.707-5.707a1%201%200%200%200%200%201.414l2%202a1%201%200%201%200%201.414-1.414L4.414%2012l1.293-1.293a1%201%200%200%200-1.414-1.414l-2%202Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-increase-nesting-level::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%206a1%201%200%200%201%201-1h12a1%201%200%201%201%200%202H6a1%201%200%200%201-1-1Zm4%205a1%201%200%201%200%200%202h9a1%201%200%201%200%200-2H9Zm-3%206a1%201%200%201%200%200%202h12a1%201%200%201%200%200-2H6Zm-2.293-2.293%202-2a1%201%200%200%200%200-1.414l-2-2a1%201%200%201%200-1.414%201.414L3.586%2012l-1.293%201.293a1%201%200%201%200%201.414%201.414Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-dialogs {
  position: relative;
}

trix-toolbar .trix-dialog {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  font-size: 0.75em;
  padding: 15px 10px;
  background: #fff;
  box-shadow: 0 0.3em 1em #ccc;
  border-top: 2px solid #888;
  border-radius: 5px;
  z-index: 5;
}

trix-toolbar .trix-input--dialog {
  font-size: inherit;
  font-weight: normal;
  padding: 0.5em 0.8em;
  margin: 0 10px 0 0;
  border-radius: 3px;
  border: 1px solid #bbb;
  background-color: #fff;
  box-shadow: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

trix-toolbar .trix-input--dialog.validate:invalid {
  box-shadow: #F00 0px 0px 1.5px 1px;
}

trix-toolbar .trix-button--dialog {
  font-size: inherit;
  padding: 0.5em;
  border-bottom: none;
}

trix-toolbar .trix-dialog--link {
  max-width: 600px;
}

trix-toolbar .trix-dialog__link-fields {
  display: flex;
  align-items: baseline;
}

trix-toolbar .trix-dialog__link-fields .trix-input {
  flex: 1;
}

trix-toolbar .trix-dialog__link-fields .trix-button-group {
  flex: 0 0 content;
  margin: 0;
}

trix-editor [data-trix-mutable]:not(.attachment__caption-editor) {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

trix-editor [data-trix-mutable]::-moz-selection,
trix-editor [data-trix-cursor-target]::-moz-selection, trix-editor [data-trix-mutable] ::-moz-selection {
  background: none;
}

trix-editor [data-trix-mutable]::selection,
trix-editor [data-trix-cursor-target]::selection, trix-editor [data-trix-mutable] ::selection {
  background: none;
}

trix-editor .attachment__caption-editor:focus[data-trix-mutable]::-moz-selection {
  background: highlight;
}

trix-editor .attachment__caption-editor:focus[data-trix-mutable]::selection {
  background: highlight;
}

trix-editor [data-trix-mutable].attachment.attachment--file {
  box-shadow: 0 0 0 2px highlight;
  border-color: transparent;
}

trix-editor [data-trix-mutable].attachment img {
  box-shadow: 0 0 0 2px highlight;
}

trix-editor .attachment {
  position: relative;
}

trix-editor .attachment:hover {
  cursor: default;
}

trix-editor .attachment--preview .attachment__caption:hover {
  cursor: text;
}

trix-editor .attachment__progress {
  position: absolute;
  z-index: 1;
  height: 20px;
  top: calc(50% - 10px);
  left: 5%;
  width: 90%;
  opacity: 0.9;
  transition: opacity 200ms ease-in;
}

trix-editor .attachment__progress[value="100"] {
  opacity: 0;
}

trix-editor .attachment__caption-editor {
  display: inline-block;
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
  color: inherit;
  text-align: center;
  vertical-align: top;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

trix-editor .attachment__toolbar {
  position: absolute;
  z-index: 1;
  top: -0.9em;
  left: 0;
  width: 100%;
  text-align: center;
}

trix-editor .trix-button-group {
  display: inline-flex;
}

trix-editor .trix-button {
  position: relative;
  float: left;
  color: #666;
  white-space: nowrap;
  font-size: 80%;
  padding: 0 0.8em;
  margin: 0;
  outline: none;
  border: none;
  border-radius: 0;
  background: transparent;
}

trix-editor .trix-button:not(:first-child) {
  border-left: 1px solid #ccc;
}

trix-editor .trix-button.trix-active {
  background: #cbeefa;
}

trix-editor .trix-button:not(:disabled) {
  cursor: pointer;
}

trix-editor .trix-button--remove {
  text-indent: -9999px;
  display: inline-block;
  padding: 0;
  outline: none;
  width: 1.8em;
  height: 1.8em;
  line-height: 1.8em;
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid highlight;
  box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.25);
}

trix-editor .trix-button--remove::before {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0.7;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg%20height%3D%2224%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M19%206.41%2017.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012z%22%2F%3E%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 90%;
}

trix-editor .trix-button--remove:hover {
  border-color: #333;
}

trix-editor .trix-button--remove:hover::before {
  opacity: 1;
}

trix-editor .attachment__metadata-container {
  position: relative;
}

trix-editor .attachment__metadata {
  position: absolute;
  left: 50%;
  top: 2em;
  transform: translate(-50%, 0);
  max-width: 90%;
  padding: 0.1em 0.6em;
  font-size: 0.8em;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.7);
  border-radius: 3px;
}

trix-editor .attachment__metadata .attachment__name {
  display: inline-block;
  max-width: 100%;
  vertical-align: bottom;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

trix-editor .attachment__metadata .attachment__size {
  margin-left: 0.2em;
  white-space: nowrap;
}

.trix-content {
  line-height: 1.5;
  overflow-wrap: break-word;
  word-break: break-word;
}

.trix-content * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.trix-content h1 {
  font-size: 1.2em;
  line-height: 1.2;
}

.trix-content blockquote {
  border: 0 solid #ccc;
  border-left-width: 0.3em;
  margin-left: 0.3em;
  padding-left: 0.6em;
}

.trix-content [dir=rtl] blockquote,
.trix-content blockquote[dir=rtl] {
  border-width: 0;
  border-right-width: 0.3em;
  margin-right: 0.3em;
  padding-right: 0.6em;
}

.trix-content li {
  margin-left: 1em;
}

.trix-content [dir=rtl] li {
  margin-right: 1em;
}

.trix-content pre {
  display: inline-block;
  width: 100%;
  vertical-align: top;
  font-family: monospace;
  font-size: 0.9em;
  padding: 0.5em;
  white-space: pre;
  background-color: #eee;
  overflow-x: auto;
}

.trix-content img {
  max-width: 100%;
  height: auto;
}

.trix-content .attachment {
  display: inline-block;
  position: relative;
  max-width: 100%;
}

.trix-content .attachment a {
  color: inherit;
  text-decoration: none;
}

.trix-content .attachment a:hover, .trix-content .attachment a:visited:hover {
  color: inherit;
}

.trix-content .attachment__caption {
  text-align: center;
}

.trix-content .attachment__caption .attachment__name + .attachment__size::before {
  content: " •";
}

.trix-content .attachment--preview {
  width: 100%;
  text-align: center;
}

.trix-content .attachment--preview .attachment__caption {
  color: #666;
  font-size: 0.9em;
  line-height: 1.2;
}

.trix-content .attachment--file {
  color: #333;
  line-height: 1;
  margin: 0 2px 2px 2px;
  padding: 0.4em 1em;
  border: 1px solid #bbb;
  border-radius: 5px;
}

.trix-content .attachment-gallery {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}

.trix-content .attachment-gallery .attachment {
  flex: 1 0 33%;
  padding: 0 0.5em;
  max-width: 33%;
}

.trix-content .attachment-gallery.attachment-gallery--2 .attachment, .trix-content .attachment-gallery.attachment-gallery--4 .attachment {
  flex-basis: 50%;
  max-width: 50%;
}

/*
 * We need to override trix.css’s image gallery styles to accommodate the
 * <action-text-attachment> element we wrap around attachments. Otherwise,
 * images in galleries will be squished by the max-width: 33%; rule.
*/
.trix-content .attachment-gallery > action-text-attachment,
.trix-content .attachment-gallery > .attachment {
  flex: 1 0 33%;
  padding: 0 0.5em;
  max-width: 33%;
}

.trix-content .attachment-gallery.attachment-gallery--2 > action-text-attachment,
.trix-content .attachment-gallery.attachment-gallery--2 > .attachment, .trix-content .attachment-gallery.attachment-gallery--4 > action-text-attachment,
.trix-content .attachment-gallery.attachment-gallery--4 > .attachment {
  flex-basis: 50%;
  max-width: 50%;
}

.trix-content action-text-attachment .attachment {
  padding: 0 !important;
  max-width: 100% !important;
}

:root {
  --pico-header-height: 5rem;
}

body {
  display: grid;
  width: 100%;
  grid-template-rows: min-content auto min-content;
  grid-template-columns: 1fr;
  align-items: start;
  justify-content: stretch;
  min-height: 100vh;
  height: 100%;
  background-color: #f6f5f4;
}

body > header {
  background-color: var(--pico-primary-inverse);
  box-shadow: var(--card-box-shadow);
  display: grid;
  height: auto;
  padding: 0;
  box-sizing: border-box;
}
body > header nav#site-navigation {
  max-height: 100%;
  z-index: 1001;
  padding-right: 2rem;
}
body > header nav#site-navigation > ul {
  margin: 0;
}
body > header nav#site-navigation > ul li {
  padding: 0.5rem;
}
body > header nav#site-navigation .header-logo {
  height: 100%;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}
body > header nav#site-navigation .header-logo img {
  height: var(--pico-header-height);
  max-height: 4rem;
  padding: 0.5rem 0.75rem;
}

body > main {
  margin-top: 0;
  padding-top: 0;
  padding-bottom: 0;
  height: 100%;
  align-self: stretch;
}
body > main > section {
  margin-top: 2rem;
}
body > main > header.page-header {
  background-color: var(--duke-navy);
  color: var(--pico-primary-inverse);
}
body > main > header.page-header nav[aria-label=breadcrumb] {
  margin: 0;
  width: 100%;
  padding: 0.5rem 1rem;
  text-transform: uppercase;
  font-size: 0.8rem;
  display: flex;
  gap: 0.25rem;
}
body > main > header.page-header nav[aria-label=breadcrumb] a {
  color: var(--pico-primary-inverse);
}
body > main > header.page-header nav[aria-label=breadcrumb] a:hover {
  color: var(--duke-med-yellow);
}

.grid > header {
  grid-column: 1/-1;
}

turbo-cable-stream-source {
  display: none !important;
}

[role=button],
input[type=button],
button,
input[type=submit],
button[type=reset] {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  text-transform: uppercase;
  padding: 0.5rem;
  margin-bottom: 0.5rem;
  font-weight: 600;
}
[role=button]:hover,
input[type=button]:hover,
button:hover,
input[type=submit]:hover,
button[type=reset]:hover {
  text-decoration: none;
}
[role=button]:not(.outline):not(.link-like),
input[type=button]:not(.outline):not(.link-like),
button:not(.outline):not(.link-like),
input[type=submit]:not(.outline):not(.link-like),
button[type=reset]:not(.outline):not(.link-like) {
  --pico-background-color: var(--duke-royal);
  color: var(--pico-primary-inverse);
  border: none;
  border-radius: var(--pico-border-radius);
  text-decoration: none;
}
[role=button]:not(.outline):not(.link-like):hover,
input[type=button]:not(.outline):not(.link-like):hover,
button:not(.outline):not(.link-like):hover,
input[type=submit]:not(.outline):not(.link-like):hover,
button[type=reset]:not(.outline):not(.link-like):hover {
  color: var(--duke-med-yellow);
  text-decoration: none;
}
[role=button].outline:hover,
input[type=button].outline:hover,
button.outline:hover,
input[type=submit].outline:hover,
button[type=reset].outline:hover {
  background-color: var(--duke-royal);
  color: var(--pico-primary-inverse);
}
[role=button].small,
input[type=button].small,
button.small,
input[type=submit].small,
button[type=reset].small {
  font-size: 0.8rem;
  padding: 0.25rem 0.5rem;
}
[role=button].link-like,
input[type=button].link-like,
button.link-like,
input[type=submit].link-like,
button[type=reset].link-like {
  background-color: transparent;
  border: none;
  padding: 0 0.5rem;
  color: var(--pico-primary);
}
[role=button].link-like.inverse,
input[type=button].link-like.inverse,
button.link-like.inverse,
input[type=submit].link-like.inverse,
button[type=reset].link-like.inverse {
  color: var(--pico-primary-inverse);
}
[role=button].link-like.inverse:hover,
input[type=button].link-like.inverse:hover,
button.link-like.inverse:hover,
input[type=submit].link-like.inverse:hover,
button[type=reset].link-like.inverse:hover {
  color: var(--duke-med-yellow);
}
[role=button].link-like:hover,
input[type=button].link-like:hover,
button.link-like:hover,
input[type=submit].link-like:hover,
button[type=reset].link-like:hover {
  text-decoration: none;
  opacity: 0.8;
}
[role=button].link-like:hover .icon, [role=button].link-like:hover a.sortable:after,
input[type=button].link-like:hover .icon,
input[type=button].link-like:hover a.sortable:after,
button.link-like:hover .icon,
button.link-like:hover a.sortable:after,
input[type=submit].link-like:hover .icon,
input[type=submit].link-like:hover a.sortable:after,
button[type=reset].link-like:hover .icon {
  text-decoration: none;
}
[role=button].warning,
input[type=button].warning,
button.warning,
input[type=submit].warning,
button[type=reset].warning {
  background-color: var(--warning);
  border-color: var(--warning);
  color: var(--pico-primary-inverse);
}
[role=button].warning:hover,
input[type=button].warning:hover,
button.warning:hover,
input[type=submit].warning:hover,
button[type=reset].warning:hover {
  background-color: var(--warning);
  color: var(--duke-med-yellow);
}
[role=button] .icon, [role=button] a.sortable:after,
input[type=button] .icon,
input[type=button] a.sortable:after,
button .icon,
button a.sortable:after,
input[type=submit] .icon,
input[type=submit] a.sortable:after,
button[type=reset] .icon {
  font-size: 150%;
  text-decoration: none;
}

[role=button] {
  font-weight: bold;
  text-transform: uppercase;
  cursor: pointer;
}

label,
.label,
th,
fieldset legend {
  font-weight: bold;
  text-transform: uppercase;
  font-size: 0.9rem;
  color: var(--duke-gray);
  font-weight: normal;
}
label.error,
.label.error,
th.error,
fieldset legend.error {
  color: var(--error) !important;
  font-weight: bold;
}

legend + label {
  text-transform: none;
}

label {
  display: block;
  margin-top: 1rem;
}

form {
  --pico-spacing: 0.5rem;
}
form :where(input, select, textarea)[aria-invalid=true] {
  margin-bottom: 0.125rem;
  border-width: var(--pico-border-width);
  border-color: var(--error);
}
form :where(input, select, textarea)[aria-invalid=true].currency {
  padding-left: 1.25rem !important;
  padding-inline-start: 1.25rem;
}
form span.error {
  display: block;
  font-size: 0.8rem;
  color: var(--error);
  text-transform: none;
  font-weight: normal;
}
form span.field-hint {
  display: block;
  font-size: 0.8rem;
  color: var(--secondary);
  text-transform: none;
  font-weight: normal;
}
form select::placeholder,
form select > option[value=""] {
  color: var(--grey-500);
  font-style: italic;
  opacity: 1;
}

input {
  display: block;
}
input::placeholder {
  color: var(--grey-500);
  font-style: italic;
  opacity: 1;
}
input::-webkit-input-placeholder {
  color: #888;
  font-style: italic;
}
input::-moz-placeholder {
  color: #888;
  font-style: italic;
}
input:-ms-input-placeholder {
  color: #888;
  font-style: italic;
}
input::placeholder {
  color: #888;
  font-style: italic;
}

details {
  margin-bottom: 0;
}
details summary {
  margin-bottom: 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.5rem;
}
details summary::after {
  margin-left: auto;
}
details summary > * {
  margin: 0;
}
details > summary {
  padding: 0.5rem 0;
}
details[role=button] {
  width: fit-content;
}
details[role=button] summary {
  border-bottom: none;
  padding: inherit;
}
details[role=button][open] {
  width: inherit;
}
details[role=button] p.regular-paragraph {
  width: 100%;
  text-align: left;
  margin: 0;
}

input[type=number].currency {
  padding-left: 1.25rem;
  background-image: var(--lucide-dollar-sign);
  background-repeat: no-repeat;
  background-size: 1rem;
  background-position: center left 0.25rem;
}

.compound-field {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  align-items: start;
  gap: 0.5rem;
}
.compound-field .part > * {
  margin: 0;
}
.compound-field .part label {
  font-weight: normal;
  text-align: project-left;
  font-size: 90%;
}

.field span.error:not(:has(.compound-field *)) {
  grid-column: 2/-1;
  align-self: start;
}

label.boolean input[type=radio] {
  border: none;
  opacity: 0.01;
  width: 100%;
  height: 100%;
}

div.boolean-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  justify-content: center;
  margin: 0.5rem 0 0.5rem 0;
  width: 100%;
  max-width: 400px;
}
div.boolean-group label.boolean,
div.boolean-group label.boolean:has([type=radio], [type=checkbox]) {
  margin: 0 0 0 0;
  display: block;
  height: fit-content;
  text-align: center;
  width: 100%;
  border-radius: var(--pico-border-radius);
  border: var(--pico-border-width) solid var(--duke-med-gray-accent);
  padding: 0.5rem;
  cursor: pointer;
  z-index: 90;
  box-sizing: border-box;
}
div.boolean-group label.boolean input,
div.boolean-group label.boolean:has([type=radio], [type=checkbox]) input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
div.boolean-group label.boolean:nth-child(1),
div.boolean-group label.boolean:has([type=radio], [type=checkbox]):nth-child(1) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  margin-right: 0;
}
div.boolean-group label.boolean:nth-child(2),
div.boolean-group label.boolean:has([type=radio], [type=checkbox]):nth-child(2) {
  border-left: none;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  margin-left: 0;
}
div.boolean-group label.boolean:has(input[type=radio]:checked),
div.boolean-group label.boolean:has([type=radio], [type=checkbox]):has(input[type=radio]:checked) {
  background-color: var(--duke-royal);
  color: var(--primary-inverse);
  border-color: var(--duke-royal);
}
div.boolean-group label.boolean:has(input[type=radio]:checked[value="1"]), div.boolean-group label.boolean:has(input[type=radio]:checked[value=true]),
div.boolean-group label.boolean:has([type=radio], [type=checkbox]):has(input[type=radio]:checked[value="1"]),
div.boolean-group label.boolean:has([type=radio], [type=checkbox]):has(input[type=radio]:checked[value=true]) {
  background-color: var(--success-dark);
  color: var(--primary-inverse);
  border-color: var(--success-dark);
}
div.boolean-group label.boolean:has(input[type=radio]:checked[value="0"]), div.boolean-group label.boolean:has(input[type=radio]:checked[value=false]),
div.boolean-group label.boolean:has([type=radio], [type=checkbox]):has(input[type=radio]:checked[value="0"]),
div.boolean-group label.boolean:has([type=radio], [type=checkbox]):has(input[type=radio]:checked[value=false]) {
  background-color: var(--danger);
  color: var(--primary-inverse);
  border-color: var(--danger);
}

.icon[data-tooltip]::before {
  font-size: 0.9rem;
  font-family: sans-serif;
  font-weight: normal;
  max-width: 300px;
  height: auto;
}

span.document-value {
  display: flex;
  align-items: center;
  justify-content: space-between;
  align-items: stretch;
  font-family: inherit;
  padding: 0.25rem 0;
}

span.mismatch-inline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  align-items: stretch;
  background: var(--duke-med-yellow);
  border: 1px solid #d9a527;
  font-family: inherit;
  padding: 0.25rem;
  border-bottom-style: solid;
  margin-left: 0.5em;
  width: auto;
  display: inline-flex;
}
span.mismatch-inline[data-tooltip] {
  border: 1px solid var(--duke-med-yellow-dark);
}
span.mismatch-inline .sps-label {
  display: flex;
  align-items: center;
  justify-content: center;
  writing-mode: vertical-lr;
  text-orientation: sideways;
  background: #d9a527;
  transform: rotate(180deg);
  color: white;
  font-size: 0.7em;
  font-weight: bold;
  padding: 0.25em;
  margin: -0.25rem;
}
span.mismatch-inline .mismatch-value {
  margin-left: 0.5rem;
  margin-top: 0.12rem;
}

.commitment-parts span.mismatch-inline {
  margin: 0;
  padding: 0;
}

p > span.mismatch-inline {
  margin: -0.25rem 0rem;
}

article {
  padding: 0.5rem;
}
article > header {
  margin: -0.5rem -0.5rem 0.5rem -0.5rem;
  padding: 0.5rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
article.has-issue {
  border-left: 0.5em solid var(--duke-med-yellow);
  border-radius: 0 var(--pico-border-radius) var(--pico-border-radius) 0;
}

.hidden {
  display: none !important;
}

p.small-paragraph {
  font-size: 0.9rem;
  text-align: left;
  color: var(--duke-gray);
}
p.small-paragraph:hover {
  color: var(--duke-gray);
}

.title-state-group {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.title-state-group .review-state {
  align-self: center;
}
.title-state-group > * {
  margin: 0;
}

.stats {
  display: flex;
  flex: 0 0 0;
  justify-content: space-around;
  margin-bottom: 20px;
}

.metrics {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
}
.metrics header {
  grid-column: 1/-1;
}

.stat {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-flow: column;
  width: auto;
}
.stat p.label {
  font-weight: bold;
  text-transform: uppercase;
  font-size: 26px;
  margin: 0;
  text-align: center;
}
.stat p.value {
  font-size: 60px;
  font-weight: bold;
  margin: 0;
  text-align: left;
}

p.value-detail,
p.smaller {
  font-size: 13px;
  margin: 0;
  text-align: left;
}

.matches {
  all: unset;
  display: grid;
  grid-template-rows: auto;
}
.matches .match {
  border: 1px solid var(--duke-gray);
  padding: 0.5rem;
  margin-bottom: 1rem;
  font-size: 90%;
  box-shadow: var(--pico-card-box-shadow);
  border-radius: var(--pico-border-radius);
}
.matches .match:only-child {
  margin-bottom: 0;
}
.matches .match.coi header {
  background-color: var(--duke-teal-unofficial);
}
.matches .match.scholars header {
  background-color: var(--duke-med-purple);
}
.matches .match header {
  display: flex;
  font-size: 0.85rem;
  margin: -0.5rem -0.5rem 0.5rem -0.5rem;
  padding: 0.25rem;
  color: var(--pico-secondary-inverse);
  background-color: var(--duke-gray);
}
.matches .match header .icon, .matches .match header a.sortable:after {
  margin-right: 0.25rem;
}
.matches .match header a {
  color: var(--pico-secondary-inverse);
  margin-left: auto;
}

.position {
  display: grid;
  grid-template-columns: 4fr 3fr;
  width: auto;
}
.position .provided {
  display: grid;
  grid-template-columns: 1fr 4fr;
  column-gap: 1rem;
}
.position .matches .match {
  border-color: var(--duke-dark-green);
}
.position .matches .match header {
  background-color: var(--duke-dark-green);
}
.position .matches .match .source {
  margin-left: auto;
}
.position .matches .match .status {
  text-transform: uppercase;
}

.horizontal-items {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
  grid-auto-flow: rows;
  align-items: start;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.horizontal-items > header {
  grid-column: 1/-1;
}
.horizontal-items.disclosures {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.horizontal-items.items {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
.horizontal-items.subawards {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
.horizontal-items.person-months {
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  grid-auto-flow: dense;
  align-items: stretch;
}
.horizontal-items.person-months > .item {
  grid-column: span 2;
}
.horizontal-items.person-months > .current {
  grid-column: span 3;
}
.horizontal-items.years {
  grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
  align-items: stretch;
}
.horizontal-items .item {
  padding: 0.5rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  max-width: 400px;
  border: 1px solid var(--duke-med-gray-accent);
  border-left-width: 0.5em;
  border-radius: 0 var(--pico-border-radius) var(--pico-border-radius) 0;
  background-color: var(--pico-primary-inverse);
}
.horizontal-items .item.mismatched {
  background-color: var(--duke-med-yellow-pale);
  border-color: var(--duke-med-yellow);
}
.horizontal-items .item.exceeds-limit {
  background-color: var(--duke-red-light);
  border-color: var(--danger);
}
.horizontal-items .item.exceeds-limit .item-value {
  color: var(--danger);
  font-weight: bold;
}
.horizontal-items .item > header p {
  grid-column: 1/-1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 0.9rem;
  margin: 0;
}
.horizontal-items .item > header p .tag.pill.small {
  font-size: 0.65rem;
  white-space: nowrap;
}
.horizontal-items .item .item-value {
  font-size: 1rem;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  display: flex;
  gap: 0.5rem;
  justify-content: space-between;
}
.horizontal-items .item .item-unit {
  margin-bottom: 0;
  font-size: 0.8rem;
  text-transform: uppercase;
}
.horizontal-items .item .item-unit.subheading {
  border-top: 0.5px solid var(--duke-med-gray-accent);
  font-weight: bold;
  margin-top: 0.25rem;
  padding-top: 0.25rem;
  font-size: 0.9rem;
}
.horizontal-items .item .item-small-text {
  font-size: 0.8rem;
  margin-bottom: 0;
}
.horizontal-items .item .item-sub-value-group {
  align-self: flex-start;
}
.horizontal-items .item .item-sub-value-group .item-unit {
  margin-bottom: 0.5rem;
}
.horizontal-items .item .item-sub-value-group .item-sub-value {
  margin-bottom: 0.125rem;
}

.person-months > header {
  display: flex;
  align-items: center;
  justify-content: center;
  justify-content: flex-start;
  gap: 1rem;
}
.person-months > header > * {
  margin: 0;
}

.mission-summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 1rem;
}
.mission-summary section {
  padding: 0.5rem;
  border: 1px solid var(--duke-med-gray-accent);
  border-radius: var(--pico-border-radius);
}
.mission-summary section header {
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}
.mission-summary section .effort-type-summary {
  display: grid;
  grid-template-columns: 3fr 1fr 2fr;
  justify-content: space-between;
  align-items: center;
}
.mission-summary section .effort-type-summary .effort-type {
  font-weight: bold;
}

.nofo-changes-table td,
.nofo-changes-table th {
  border-left: 1px solid lightgray;
  text-align: left;
  padding: 5px;
  font-size: 13px;
}

.table-scroll-container {
  overflow-x: auto;
  width: 100%;
}

.pdfobject-container {
  width: 100%;
  height: 100%;
}

.pdf-container {
  display: flex;
  flex-flow: column;
}

.pdf-controls .icon, .pdf-controls a.sortable:after {
  font-size: 6rem;
}

.resizer-control {
  cursor: ew-resize;
  background-color: #ccc;
  margin-top: -2rem;
}

body > footer {
  align-items: center;
  margin-top: auto;
  padding-bottom: 0.5em;
  background-color: rgb(188, 190, 192);
  justify-items: stretch;
}
body > footer a {
  color: rgb(1, 33, 105);
}
body > footer a:hover {
  opacity: 0.9;
}
body > footer > section.footer-logos {
  display: flex;
  align-items: center;
  flex-grow: 1;
  flex-shrink: 1;
  flex-wrap: wrap;
  justify-content: space-around;
  margin: 0 auto;
}
body > footer > section.footer-logos > div {
  min-width: min-content;
  max-width: 400px;
  margin: 2em auto;
  padding: 0;
}
body > footer > section.footer-logos > div img {
  max-height: 3.5rem;
}
body > footer > section.footer-logos > div .office-name {
  margin-top: 2.5rem;
  font-size: 1.25rem;
  font-weight: 600;
}

.tag {
  display: inline-flex;
  background-color: #5d5d5d;
  color: white;
  text-transform: uppercase;
  font-weight: 500;
  margin: -0.125rem 0.5rem;
  border-radius: var(--border-radius);
  padding: 0.125em 0.5em;
}
.tag.beta {
  background-color: var(--duke-univ-persimmon);
  color: var(--duke-navy);
}
.tag.pill {
  width: auto;
  gap: 0.15rem;
  align-items: center;
  justify-content: stretch;
  align-self: center;
  font-size: 0.7rem;
  height: 1.4rem;
  background-color: #006ece;
  border-radius: 1.4rem;
  border: none;
  white-space: nowrap;
  font-weight: bold;
}
.tag.pill .icon, .tag.pill a.sortable:after {
  font-family: "Material Symbols Outlined";
  font-variation-settings: "FILL" 0, "wght" 200, "GRAD" 0, "opsz" 24;
  font-size: 1rem;
  margin: -0.15rem 0.15rem -0.15rem 0;
}
.tag.pill.large {
  font-size: 1rem;
  height: 2rem;
}
.tag.pill.large .icon, .tag.pill.large a.sortable:after {
  font-size: 1.6rem;
}
.tag.pill.small {
  font-size: 0.65rem;
  white-space: nowrap;
}
.tag.pill.issues-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin-left: 0.5rem;
  height: 1.5rem;
  width: 1.5rem;
  font-size: 0.9rem;
  color: var(--duke-gray);
  background-color: var(--duke-med-yellow);
}
.tag.pill.sps {
  color: var(--duke-gray);
  background-color: var(--duke-med-yellow);
}
.tag.pill.justification {
  background-color: var(--duke-teal-unofficial);
}
.tag.pill.total {
  font-size: 1.25rem;
  background-color: var(--duke-med-yellow);
  color: var(--duke-gray);
  padding: 0.5rem;
}
.tag.pill.badge {
  background-color: var(--duke-royal-blue);
  color: var(--pico-primary-inverse);
  padding: 0.5rem;
}
.tag.pill.approval, .tag.pill.approval-level {
  background-color: var(--duke-med-gray-accent);
}
.tag.pill.approval .icon, .tag.pill.approval a.sortable:after, .tag.pill.approval-level .icon, .tag.pill.approval-level a.sortable:after {
  font-size: 1.3rem;
}
.tag.pill.approval.duke-central, .tag.pill.approval-level.duke-central {
  background-color: var(--duke-navy);
}
.tag.pill.approval.sponsor, .tag.pill.approval-level.sponsor {
  background-color: var(--duke-med-red-dark);
}
.tag.pill.approval.pi, .tag.pill.approval-level.pi {
  background-color: var(--duke-health-teal);
}
.tag.pill.rsdt-status.compliant {
  background-color: var(--duke-royal-blue);
}
.tag.pill.rsdt-status.overdue {
  background-color: darkred;
}
.tag.pill.rsdt-status.due-soon {
  background-color: darkorange;
}
.tag.appointment .icon, .tag.appointment a.sortable:after {
  font-size: 1.3rem;
}
.tag.appointment.calendar {
  background-color: teal;
}
.tag.appointment.academic {
  background-color: darkmagenta;
}
.tag.issue-flag {
  display: block;
  background-color: var(--duke-med-yellow);
  color: var(--duke-gray);
  padding: 0.1em 0.5em;
  margin: 0 auto 3px 0;
  font-size: 0.9rem;
  font-weight: 400;
  width: 100%;
}
.tag.issue-flag .icon, .tag.issue-flag a.sortable:after {
  color: var(--duke-gray);
  font-size: 1.2rem;
  font-weight: bold;
}
.tag.sps {
  background-color: var(--sps);
  color: white;
}
.tag .below-minimum {
  font-weight: bold;
  text-transform: uppercase;
  display: block;
  color: var(--duke-gray);
  margin-bottom: 0;
}
.tag .below-minimum .icon, .tag .below-minimum a.sortable:after, .tag .below-minimum.icon, .tag a.below-minimum.sortable:after {
  color: var(--duke-med-yellow-dark);
  font-size: 1.6rem;
  font-weight: bold;
  display: inline-block;
}
.tag .badge {
  aspect-ratio: 1/1;
  font-family: "Roboto Mono", monospace;
  font-size: 0.85em;
  width: 1.15em;
  height: 1.15em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: bold;
  border-radius: 50%;
  color: var(--duke-med-gray-accent);
  background-color: var(--duke-navy);
}
.tag.obligated, .tag.completed {
  background-color: var(--success);
}
.tag.anticipated, .tag.pending {
  background-color: var(--duke-med-purple);
}
.tag.current {
  background-color: var(--duke-med-sky-blue);
}
.tag.warning {
  background-color: var(--warning);
}
.tag.errored {
  background-color: var(--danger);
}
.tag.initialized {
  background-color: var(--secondary-muted);
  color: var(--secondary);
}
.tag.has-nce {
  background-color: var(--duke-univ-magnolia);
}
.tag.has-supplement {
  background-color: var(--duke-univ-copper);
}
.tag.is-ppg {
  background-color: var(--duke-univ-ironweed);
}
.tag.in-progress:before {
  --pico-icon-loading: url("data:image/svg+xml,%3Csvg fill='none' height='24' width='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite; transform-origin: center center; %7D circle %7B stroke-dasharray: 75,100; stroke-dashoffset: -5; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; %7D @keyframes rotate %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray: 1,100; stroke-dashoffset: 0; %7D 50%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -17.5; %7D 100%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -62; %7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='rgb(245,200,103)' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E");
  color: white;
}
.tag.flag {
  border-radius: 0;
  margin: -0.5rem 0.25rem 0 0.25rem;
  padding: 0.5rem;
  top: 0;
  background-color: var(--duke-med-green);
  font-weight: bold;
}

.notice-block, .toast {
  background: #fff;
  border: var(--border-width) solid var(--duke-med-sky-blue);
  border-radius: var(--border-radius);
  position: relative;
  margin: 1.5rem auto;
  padding: var(--form-element-spacing-vertical) var(--form-element-spacing-horizontal) var(--form-element-spacing-horizontal) 3.5rem;
}
.notice-block *, .toast * {
  margin: 0;
  padding: 0;
}
.notice-block header, .toast header {
  font-size: 1.5rem;
}
.notice-block p, .toast p {
  margin-bottom: 0.5rem;
}
.notice-block p:last-child, .toast p:last-child {
  margin-bottom: 0;
}
.notice-block::before, .toast::before {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  width: 3rem;
  height: 100%;
  left: 0;
  margin: 0;
  top: 0;
  background: var(--duke-med-sky-blue);
  content: "";
}
.notice-block::after, .toast::after {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  width: 3rem;
  height: 100%;
  left: 0;
  margin: 0;
  top: 0;
  background-color: white;
  mask: var(--lucide-info) no-repeat center/2rem 2rem;
  -webkit-mask: var(--lucide-info) no-repeat center/2rem 2rem;
  content: "";
  /* White icon on colored background */
}
.notice-block.delete, .delete.toast {
  border-color: var(--danger);
}
.notice-block.delete::before, .delete.toast::before {
  background: var(--danger);
}
.notice-block.delete::after, .delete.toast::after {
  mask: var(--lucide-trash) no-repeat center/2rem 2rem;
  -webkit-mask: var(--lucide-trash) no-repeat center/2rem 2rem;
}
.notice-block.info, .info.toast {
  border-color: var(--changed);
}
.notice-block.info::before, .info.toast::before {
  background: var(--changed);
}
.notice-block.info::after, .info.toast::after {
  mask: var(--lucide-info) no-repeat center/2rem 2rem;
  -webkit-mask: var(--lucide-info) no-repeat center/2rem 2rem;
}
.notice-block.pending, .pending.toast {
  border-color: var(--pending);
}
.notice-block.pending::before, .pending.toast::before {
  background: var(--pending);
}
.notice-block.pending::after, .pending.toast::after {
  mask: var(--lucide-refresh-cw) no-repeat center/2rem 2rem;
  -webkit-mask: var(--lucide-refresh-cw) no-repeat center/2rem 2rem;
}
.notice-block.warning, .warning.toast, .notice-block.alert, .alert.toast {
  border-color: var(--warning);
  color: inherit;
}
.notice-block.warning::before, .warning.toast::before, .notice-block.alert::before, .alert.toast::before {
  background: var(--warning);
}
.notice-block.warning::after, .warning.toast::after, .notice-block.alert::after, .alert.toast::after {
  mask: var(--lucide-triangle-alert) no-repeat center/2rem 2rem;
  -webkit-mask: var(--lucide-triangle-alert) no-repeat center/2rem 2rem;
}
.notice-block.success, .success.toast {
  border-color: var(--success);
}
.notice-block.success::before, .success.toast::before {
  background: var(--success);
}
.notice-block.success::after, .success.toast::after {
  mask: var(--lucide-check-circle) no-repeat center/2rem 2rem;
  -webkit-mask: var(--lucide-circle-check) no-repeat center/2rem 2rem;
}
.notice-block.failure, .failure.toast {
  border-color: var(--danger);
}
.notice-block.failure::before, .failure.toast::before {
  background: var(--danger);
}
.notice-block.failure::after, .failure.toast::after {
  mask: var(--lucide-file-warning) no-repeat center/2rem 2rem;
  -webkit-mask: var(--lucide-file-warning) no-repeat center/2rem 2rem;
}
.notice-block.mismatch, .mismatch.toast {
  border-color: var(--caution);
}
.notice-block.mismatch::before, .mismatch.toast::before {
  background: var(--caution);
}
.notice-block.mismatch::after, .mismatch.toast::after {
  mask: var(--lucide-ban) no-repeat center/2rem 2rem;
  -webkit-mask: var(--lucide-ban) no-repeat center/2rem 2rem;
}
.notice-block.caution, .caution.toast {
  border-color: var(--caution);
}
.notice-block.caution::before, .caution.toast::before {
  background: var(--caution);
}
.notice-block.caution::after, .caution.toast::after {
  mask: var(--lucide-octagon-alert) no-repeat center/2rem 2rem;
  -webkit-mask: var(--lucide-octagon-alert) no-repeat center/2rem 2rem;
}
.notice-block.update-disabled, .update-disabled.toast {
  border-color: var(--caution);
}
.notice-block.update-disabled::before, .update-disabled.toast::before {
  background: var(--caution);
}
.notice-block.update-disabled::after, .update-disabled.toast::after {
  mask: var(--lucide-slash) no-repeat center/2rem 2rem;
  -webkit-mask: var(--lucide-slash) no-repeat center/2rem 2rem;
}
.notice-block.update-enabled, .update-enabled.toast {
  border-color: var(--changed);
}
.notice-block.update-enabled::before, .update-enabled.toast::before {
  background: var(--changed);
}
.notice-block.update-enabled::after, .update-enabled.toast::after {
  mask: var(--lucide-refresh-ccw) no-repeat center/2rem 2rem;
  -webkit-mask: var(--lucide-refresh-ccw) no-repeat center/2rem 2rem;
}
.notice-block.error, .error.toast {
  border-color: var(--danger);
}
.notice-block.error::before, .error.toast::before {
  background: var(--danger);
}
.notice-block.error::after, .error.toast::after {
  mask: var(--lucide-circle-x) no-repeat center/2rem 2rem;
  -webkit-mask: var(--lucide-circle-x) no-repeat center/2rem 2rem;
}
.notice-block.changed, .changed.toast, .notice-block.change, .change.toast {
  border-color: var(--changed);
}
.notice-block.changed::before, .changed.toast::before, .notice-block.change::before, .change.toast::before {
  background: var(--changed);
}
.notice-block.changed::after, .changed.toast::after, .notice-block.change::after, .change.toast::after {
  mask: var(--lucide-history) no-repeat center/2rem 2rem;
  -webkit-mask: var(--lucide-history) no-repeat center/2rem 2rem;
}
.notice-block.construction, .construction.toast {
  border-color: rgb(100, 118, 164);
}
.notice-block.construction::before, .construction.toast::before {
  background: rgb(100, 118, 164);
}
.notice-block.construction::after, .construction.toast::after {
  mask: var(--lucide-hammer) no-repeat center/2rem 2rem;
  -webkit-mask: var(--lucide-hammer) no-repeat center/2rem 2rem;
}

.action-card > .notice-block:first-child, .action-card > .toast:first-child {
  margin: 0;
}

.upload-uploading,
.upload-success,
.upload-dragndrop,
.upload-error {
  display: none;
}

.upload-input .upload-dragndrop {
  display: inline;
}

div.file-upload .dropzone {
  padding: var(--form-element-spacing-vertical) var(--form-element-spacing-horizontal);
  border: var(--border-width) dashed var(--muted-border-color);
  margin-bottom: 0;
  display: flex;
  border-radius: var(--border-radius);
  flex-flow: column;
  justify-content: stretch;
  align-items: stretch;
  text-align: center;
}
div.file-upload .dropzone.drag-hover {
  border-style: solid;
  border-color: var(--success);
  cursor: grabbing;
}
div.file-upload .dropzone.drag-hover div.instruction .icon, div.file-upload .dropzone.drag-hover div.instruction a.sortable:after {
  color: var(--changed);
}
div.file-upload input[type=file] {
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  z-index: -2;
}
div.file-upload .file-list .filename {
  font-size: 0.8rem;
  text-align: left;
}

.file-attachment {
  display: grid;
  grid-template-columns: 1.5rem 3fr 1.5rem;
  grid-template-rows: 1fr 0.25rem;
  column-gap: 0.5rem;
  row-gap: 0.5rem;
  align-items: center;
  justify-content: stretch;
  margin-top: 0.5rem;
}
.file-attachment a {
  cursor: pointer;
}
.file-attachment .filename {
  font-size: 0.75rem;
}
.file-attachment .icon, .file-attachment a.sortable:after {
  font-size: 1.5rem;
  margin: 0;
  padding: 0;
}
.file-attachment .icon.pending, .file-attachment a.pending.sortable:after {
  animation: hourglass 3s ease-in-out infinite;
}
.file-attachment progress {
  height: 100%;
  grid-row: 2/3;
  grid-column: 1/-1;
  display: block;
  width: 100%;
}
.file-attachment.existing progress {
  background-color: var(--secondary-muted);
  color: var(--secondary-muted);
}
.file-attachment.existing progress::-webkit-progress-bar {
  border-radius: var(--secondary-muted);
  background: none;
}
.file-attachment.existing progress[value]::-webkit-progress-value {
  background-color: var(--secondary-muted);
}
.file-attachment.existing progress::-moz-progress-bar {
  background-color: var(--secondary-muted);
}
.file-attachment.complete .status-icon .icon, .file-attachment.complete .status-icon a.sortable:after {
  animation: none;
}
.file-attachment.delete-pending progress {
  background-color: var(--danger);
  color: var(--danger);
}
.file-attachment.delete-pending progress::-webkit-progress-bar {
  border-radius: var(--danger);
  background: none;
}
.file-attachment.delete-pending progress[value]::-webkit-progress-value {
  background-color: var(--danger);
}
.file-attachment.delete-pending progress::-moz-progress-bar {
  background-color: var(--danger);
}
.file-attachment.delete-pending .status-icon .icon, .file-attachment.delete-pending .status-icon a.sortable:after {
  color: var(--danger);
}
.file-attachment.delete-pending a.filename {
  text-decoration: line-through;
  color: var(--danger);
}

@keyframes hourglass {
  20%, 100% {
    transform: rotate(180deg);
  }
}
label.progress {
  display: grid;
  grid-template-columns: 3fr 2fr 1fr;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-weight: normal;
  border-bottom: 1px solid transparent;
}
label.progress:hover {
  border-bottom-color: var(--muted-border-color);
}
label.progress .icon, label.progress a.sortable:after {
  font-size: 1.5rem;
  margin-left: auto;
}
label.progress a.delete {
  margin-left: auto;
  cursor: pointer;
}
label.progress a.delete .icon, label.progress a.delete a.sortable:after {
  cursor: pointer;
}
label.progress progress {
  margin: 0;
}
label.progress .existing {
  grid-column: span 2;
}

nav.pagy.nav {
  display: flex;
  align-content: flex-end;
  justify-content: center;
  margin: 2em auto;
  border-bottom: var(--border-width) solid var(--muted-border-color);
}
nav.pagy.nav a {
  z-index: 5;
  box-sizing: border-box;
  margin: 0;
  padding: 0.5em 2em;
  border-collapse: collapse;
  cursor: pointer;
  text-align: center;
  letter-spacing: normal;
  text-transform: uppercase;
  border-bottom: var(--border-width-thick) solid transparent;
  border-radius: 0;
}
nav.pagy.nav a:hover {
  font-weight: bold;
  border-bottom: var(--border-width-thick) solid var(--primary-hover);
}
nav.pagy.nav a.active {
  font-weight: 600;
  color: hsl(205, 15%, 41%);
  border-bottom: var(--border-width-thick) solid var(--muted-border-color);
}

/**
 * Modal (<dialog>)
 */
:root {
  --scrollbar-width: 0px;
}

dialog {
  all: unset;
  cursor: grab;
  pointer-events: auto;
}
dialog:not([open]), dialog[open=false] {
  display: none;
}

.modal-container {
  position: relative;
  inset: 0;
  z-index: 1000;
  height: 0;
  display: contents;
}

dialog[open] {
  z-index: 1000;
}
dialog[open].modal {
  border: 0;
  padding: 0;
  position: fixed;
  background: none;
  margin: 0 0;
  top: 100px;
  left: 200px;
  overflow: auto;
  z-index: 300;
  align-items: stretch;
  display: block;
  justify-content: stretch;
  width: fit-content;
  height: auto;
  max-width: 90vw;
  transition: opacity 10ms;
  box-shadow: var(--card-box-shadow);
}
dialog[open].modal.blocking {
  width: 100%;
  height: 100%;
  left: 50%;
  backdrop-filter: blur(1px) brightness(90%);
  display: flex;
  justify-content: center;
  align-items: center;
}
dialog[open].modal.blocking article {
  position: fixed;
  height: max-content;
  width: 60%;
  top: 50%;
  left: 50%;
  right: auto;
  transform: translate(-50%, -50%);
  z-index: 500;
  padding: 0;
}
dialog[open].modal.dragging {
  cursor: grabbing;
}
dialog[open].modal.wide {
  width: 90vw;
}
dialog[open].modal.full-screen {
  position: static;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  min-width: 100vw;
  margin: 0;
}
dialog[open] .modal-is-open {
  overflow: hidden;
  padding-right: var(--scrollbar-width, 0px);
  pointer-events: none;
}
dialog[open] .modal-is-open dialog {
  pointer-events: auto;
}
dialog[open] :where(.modal-is-opening, .modal-is-closing) dialog,
dialog[open] :where(.modal-is-opening, .modal-is-closing) dialog > article {
  animation-duration: 0.2s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: both;
}
dialog[open] :where(.modal-is-opening, .modal-is-closing) dialog {
  animation-name: fadeIn;
  animation-duration: 0.8s;
}
dialog[open] :where(.modal-is-opening, .modal-is-closing) dialog > article {
  animation-name: slideInDown;
  animation-delay: 0.2s;
}
dialog[open] .modal-is-closing dialog,
dialog[open] .modal-is-closing dialog > article {
  animation-delay: 0s;
  animation-direction: reverse;
}
@keyframes fadeIn {
  from {
    background-color: transparent;
  }
  to {
    background-color: var(--modal-overlay-background-color);
  }
}
@keyframes slideInDown {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

#modal-connector-overlay,
.modal-connector-overlay {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 1500;
}

.modal-connector-line {
  --annotation-connector-stroke-color: var(--duke-med-purple);
  stroke: var(--annotation-connector-stroke-color);
  stroke-width: 2px;
  stroke-linecap: round;
  opacity: 0.65;
}

dialog.session-timeout-modal {
  border: 0;
  background: transparent;
  padding: 0;
  pointer-events: none;
  cursor: default;
}
dialog.session-timeout-modal[open] {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 1rem;
  background-color: rgba(1, 8, 32, 0.55);
  backdrop-filter: blur(6px);
  z-index: 2000;
  pointer-events: auto;
}
dialog.session-timeout-modal > article {
  width: fit-content;
  height: auto;
  border-radius: var(--pico-border-radius);
  box-shadow: var(--card-box-shadow, 0 1rem 2rem rgba(0, 0, 0, 0.25));
  background-color: var(--card-background-color, var(--pico-background-color));
  padding: 0.5rem;
  overflow: auto;
  max-height: 100vh;
  max-width: 100vw;
}
dialog.session-timeout-modal > article > p {
  margin: 0 0 1rem 0;
  font-size: 1rem;
}
dialog.session-timeout-modal > article > footer {
  margin: 0 -0.5rem -0.5rem -0.5rem;
  padding: 0.5rem;
  display: flex;
  gap: 0.5rem;
  justify-content: flex-end;
}
dialog.session-timeout-modal > article > footer button {
  margin: 0;
}

.layout-3-panel {
  --panel-grid: 1.5fr 1px 3fr 1px 1fr;
  --resizer-handle-offset: 50%;
  --resizer-width: 0.125rem;
  display: grid;
  grid-template-columns: var(--panel-grid);
  gap: 0;
  padding: 0;
  margin: 0;
  max-width: 100%;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
}
.layout-3-panel .panel-resizer {
  width: var(--resizer-width);
  cursor: ew-resize;
  background: var(--duke-med-gray-accent);
  min-height: 100px;
  z-index: 500;
  position: relative;
  overflow: visible;
  display: flex;
}
.layout-3-panel .panel-resizer:hover {
  background: var(--duke-med-sky-blue);
  width: 0.125rem;
}
.layout-3-panel .panel-resizer .resizer-handle {
  width: 1rem;
  height: 2.5rem;
  color: var(--duke-gray);
  background: var(--duke-med-gray-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.25rem;
  cursor: ew-resize;
  position: sticky;
  top: calc(50vh - 1.25rem);
  z-index: 3;
}
.layout-3-panel .panel-resizer .resizer-handle .icon, .layout-3-panel .panel-resizer .resizer-handle a.sortable:after {
  transform: rotate(90deg);
  font-size: 1.5rem;
}
.layout-3-panel .panel-resizer.left-resizer {
  display: flex;
  justify-content: flex-start;
}
.layout-3-panel .panel-resizer.left-resizer .resizer-handle {
  box-shadow: 2px 0 5px rgba(0, 0, 0, 0.35);
  border-radius: 0 0.25rem 0.25rem 0;
  transform: translateX(0);
}
.layout-3-panel .panel-resizer.right-resizer {
  display: flex;
  justify-content: flex-start;
}
.layout-3-panel .panel-resizer.right-resizer .resizer-handle {
  box-shadow: -2px 0 5px rgba(0, 0, 0, 0.35);
  border-radius: 0.25rem 0 0 0.25rem;
  margin-left: calc(-1rem + var(--resizer-width));
}
.layout-3-panel .panel-resizer:hover .resizer-handle {
  background: var(--duke-med-sky-blue);
}
.layout-3-panel .panel-resizer:hover .resizer-handle svg {
  color: var(--duke-med-yellow);
}
.layout-3-panel .panel {
  width: 100%;
  height: 100%;
  border-radius: 0;
  margin-top: 0;
  padding: 0;
  box-sizing: border-box;
  min-width: 0;
  /* Allow panels to shrink below content width in grid */
}
.layout-3-panel .panel.center {
  height: 100%;
  margin: 0;
}
.layout-3-panel .panel .panel-content {
  height: 100%;
  max-height: 100vh;
  overflow: auto;
  width: 100%;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}
.layout-3-panel .panel.right, .layout-3-panel .panel.left {
  position: sticky;
  top: 0;
  max-height: 100vh;
  z-index: 499;
}
.layout-3-panel .panel.right .panel-content::-webkit-scrollbar, .layout-3-panel .panel.left .panel-content::-webkit-scrollbar {
  width: 6px;
}
.layout-3-panel .panel.right .panel-content::-webkit-scrollbar-track, .layout-3-panel .panel.left .panel-content::-webkit-scrollbar-track {
  background: var(--duke-med-gray-accent);
}
.layout-3-panel .panel.right .panel-content::-webkit-scrollbar-thumb, .layout-3-panel .panel.left .panel-content::-webkit-scrollbar-thumb {
  background: var(--duke-gray-light);
}
@-moz-document url-prefix() {
  .layout-3-panel .panel.right .panel-content, .layout-3-panel .panel.left .panel-content {
    scrollbar-color: var(--duke-gray-light) var(--duke-royal);
    scrollbar-width: thin;
  }
}

turbo-frame,
form:not(turbo-frame *) {
  width: 100%;
  min-width: 100%;
  display: block;
}
turbo-frame[aria-busy=true],
form:not(turbo-frame *)[aria-busy=true] {
  position: relative;
  white-space: normal;
  width: 100%;
  height: 100%;
  cursor: wait;
}
turbo-frame[aria-busy=true]::after,
form:not(turbo-frame *)[aria-busy=true]::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(1px);
  cursor: wait;
}
[data-theme=dark] turbo-frame[aria-busy=true]::after,
[data-theme=dark] form:not(turbo-frame *)[aria-busy=true]::after {
  backdrop-filter: none;
  background: transparent;
  -webkit-backdrop-filter: none;
}
turbo-frame[aria-busy=true]::before,
form:not(turbo-frame *)[aria-busy=true]::before {
  position: absolute;
  z-index: 300;
  content: "";
  width: 3rem;
  height: 3rem;
  background-size: 3em auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: var(--pico-icon-loading);
}
turbo-frame[aria-busy=true] > *,
form:not(turbo-frame *)[aria-busy=true] > * {
  pointer-events: none;
}

a {
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
a:has(.icon, a.sortable:after) {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
}

a.link_with_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  gap: 0.25em;
}

a.standout-link {
  font-weight: bold;
  text-transform: uppercase;
}

a.link-with-icon,
.link-with-icon {
  display: inline-flex;
  align-items: center;
  gap: 0.025em;
  font-weight: bold;
  text-decoration: none !important;
}
a.link-with-icon .link-text,
.link-with-icon .link-text {
  text-decoration: none;
  transition: text-decoration 0.15s;
}
a.link-with-icon .icon,
a.link-with-icon svg,
.link-with-icon .icon,
.link-with-icon a.sortable:after,
.link-with-icon svg {
  text-decoration: none !important;
  height: 1.25rem;
  vertical-align: middle;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
a.link-with-icon:hover,
.link-with-icon:hover {
  text-decoration: none !important;
}
a.link-with-icon:hover .link-text,
.link-with-icon:hover .link-text {
  text-decoration: underline;
}

nav.context-menu {
  position: relative;
  display: inline-block;
  margin-left: auto;
  --pico-dropdown-color: var(--duke-royal);
  --pico-dropdown-box-shadow: var(--box-shadow-heavy);
}
nav.context-menu details.dropdown {
  position: relative;
  width: auto;
}
nav.context-menu details.dropdown summary {
  border: none;
  background: transparent;
  cursor: pointer;
  height: auto;
  width: auto;
  padding: 0;
  justify-content: center;
  align-items: center;
}
nav.context-menu details.dropdown summary:after {
  content: none;
}
nav.context-menu details.dropdown form {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  width: 100%;
  display: block;
}
nav.context-menu details.dropdown button {
  all: unset;
  box-sizing: border-box;
  cursor: pointer;
}
nav.context-menu details.dropdown ul {
  left: auto;
  right: 0;
  overflow: hidden;
  border: none;
}
nav.context-menu details.dropdown > summary + ul li {
  margin: 0;
  padding: 0;
  overflow: hidden;
}
nav.context-menu details.dropdown > summary + ul li:last-of-type, nav.context-menu details.dropdown > summary + ul li:first-of-type {
  margin: 0;
  padding: 0;
}
nav.context-menu details.dropdown > summary + ul li a,
nav.context-menu details.dropdown > summary + ul li button {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  color: var(--duke-royal);
  background: transparent;
  margin: 0;
  padding: 0.5rem 0.75rem;
  text-decoration: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
  font-weight: 700;
  font-size: 1rem;
  text-transform: uppercase;
  text-align: left;
  justify-content: flex-start;
  line-height: 1.5;
}
nav.context-menu details.dropdown > summary + ul li a .icon, nav.context-menu details.dropdown > summary + ul li a a.sortable:after,
nav.context-menu details.dropdown > summary + ul li a svg,
nav.context-menu details.dropdown > summary + ul li button .icon,
nav.context-menu details.dropdown > summary + ul li button a.sortable:after,
nav.context-menu details.dropdown > summary + ul li button svg {
  font-size: 1rem;
  flex-shrink: 0;
}
nav.context-menu details.dropdown > summary + ul li a:hover, nav.context-menu details.dropdown > summary + ul li a:focus,
nav.context-menu details.dropdown > summary + ul li button:hover,
nav.context-menu details.dropdown > summary + ul li button:focus {
  color: var(--primary-inverse);
  background-color: var(--duke-royal);
  text-decoration: none;
}
nav.context-menu details.dropdown > summary + ul li a:hover .link-text, nav.context-menu details.dropdown > summary + ul li a:focus .link-text,
nav.context-menu details.dropdown > summary + ul li button:hover .link-text,
nav.context-menu details.dropdown > summary + ul li button:focus .link-text {
  text-decoration: none;
}
nav.context-menu details.dropdown > summary + ul li a.add,
nav.context-menu details.dropdown > summary + ul li button.add {
  color: var(--duke-med-purple);
}
nav.context-menu details.dropdown > summary + ul li a.add:hover, nav.context-menu details.dropdown > summary + ul li a.add:focus,
nav.context-menu details.dropdown > summary + ul li button.add:hover,
nav.context-menu details.dropdown > summary + ul li button.add:focus {
  background-color: var(--duke-med-purple);
  color: var(--primary-inverse);
}
nav.context-menu details.dropdown > summary + ul li a.resolve, nav.context-menu details.dropdown > summary + ul li a.resolve-thread,
nav.context-menu details.dropdown > summary + ul li button.resolve,
nav.context-menu details.dropdown > summary + ul li button.resolve-thread {
  color: var(--duke-med-dark-green);
}
nav.context-menu details.dropdown > summary + ul li a.resolve:hover, nav.context-menu details.dropdown > summary + ul li a.resolve:focus, nav.context-menu details.dropdown > summary + ul li a.resolve-thread:hover, nav.context-menu details.dropdown > summary + ul li a.resolve-thread:focus,
nav.context-menu details.dropdown > summary + ul li button.resolve:hover,
nav.context-menu details.dropdown > summary + ul li button.resolve:focus,
nav.context-menu details.dropdown > summary + ul li button.resolve-thread:hover,
nav.context-menu details.dropdown > summary + ul li button.resolve-thread:focus {
  background-color: var(--duke-med-dark-green);
  color: var(--primary-inverse);
}
nav.context-menu details.dropdown > summary + ul li a.delete, nav.context-menu details.dropdown > summary + ul li a.cancel,
nav.context-menu details.dropdown > summary + ul li button.delete,
nav.context-menu details.dropdown > summary + ul li button.cancel {
  color: var(--duke-med-red-dark);
}
nav.context-menu details.dropdown > summary + ul li a.delete:hover, nav.context-menu details.dropdown > summary + ul li a.delete:focus, nav.context-menu details.dropdown > summary + ul li a.cancel:hover, nav.context-menu details.dropdown > summary + ul li a.cancel:focus,
nav.context-menu details.dropdown > summary + ul li button.delete:hover,
nav.context-menu details.dropdown > summary + ul li button.delete:focus,
nav.context-menu details.dropdown > summary + ul li button.cancel:hover,
nav.context-menu details.dropdown > summary + ul li button.cancel:focus {
  color: var(--primary-inverse);
  background-color: var(--duke-med-red-dark);
}
nav.context-menu details.dropdown > summary + ul li a.automate,
nav.context-menu details.dropdown > summary + ul li button.automate {
  color: var(--duke-med-sky-blue);
}
nav.context-menu details.dropdown > summary + ul li a.automate:hover, nav.context-menu details.dropdown > summary + ul li a.automate:focus,
nav.context-menu details.dropdown > summary + ul li button.automate:hover,
nav.context-menu details.dropdown > summary + ul li button.automate:focus {
  color: var(--primary-inverse);
  background-color: var(--duke-med-sky-blue);
}
nav.context-menu details.dropdown > summary + ul li a.export,
nav.context-menu details.dropdown > summary + ul li button.export {
  color: var(--duke-univ-eno);
}
nav.context-menu details.dropdown > summary + ul li a.export:hover, nav.context-menu details.dropdown > summary + ul li a.export:focus,
nav.context-menu details.dropdown > summary + ul li button.export:hover,
nav.context-menu details.dropdown > summary + ul li button.export:focus {
  color: var(--primary-inverse);
  background-color: var(--duke-univ-eno);
}
nav.context-menu details.dropdown > summary + ul li a.remind,
nav.context-menu details.dropdown > summary + ul li button.remind {
  color: var(--duke-univ-persimmon);
}
nav.context-menu details.dropdown > summary + ul li a.remind:hover, nav.context-menu details.dropdown > summary + ul li a.remind:focus,
nav.context-menu details.dropdown > summary + ul li button.remind:hover,
nav.context-menu details.dropdown > summary + ul li button.remind:focus {
  color: var(--primary-inverse);
  background-color: var(--duke-univ-persimmon);
}
nav.context-menu details.dropdown > summary + ul li label.boolean {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  margin: 0;
  cursor: pointer;
  font-weight: 700;
  font-size: 0.875rem;
  text-transform: uppercase;
  color: var(--duke-royal);
  justify-content: flex-start;
}
nav.context-menu details.dropdown > summary + ul li label.boolean:hover {
  background-color: var(--pico-dropdown-hover-background-color);
}
nav.context-menu details.dropdown > summary + ul li label.boolean input[type=checkbox] {
  margin: 0;
}

a.button {
  text-transform: uppercase;
  font-weight: 600;
}

details.dropdown {
  position: relative;
  display: inline-block;
  position: relative;
}
details.dropdown > summary {
  border: none;
  background: transparent;
  cursor: pointer;
  height: auto;
  width: auto;
  padding: 0;
  justify-content: center;
  align-items: center;
}
details.dropdown > summary + ul {
  left: auto;
  right: 0;
  overflow: hidden;
  border: none;
}
details.dropdown form {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  width: 100%;
  display: block;
}
details.dropdown button {
  all: unset;
  box-sizing: border-box;
  cursor: pointer;
}
details.dropdown > summary + ul li {
  margin: 0;
  padding: 0;
  overflow: hidden;
}
details.dropdown > summary + ul li:last-of-type, details.dropdown > summary + ul li:first-of-type {
  margin: 0;
  padding: 0;
}
details.dropdown > summary + ul li a,
details.dropdown > summary + ul li button {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  color: var(--duke-royal);
  background: transparent;
  margin: 0;
  padding: 0.5rem 0.75rem;
  text-decoration: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
  font-weight: 700;
  font-size: 1rem;
  text-transform: uppercase;
  text-align: left;
  justify-content: flex-start;
  line-height: 1.5;
}
details.dropdown > summary + ul li a .icon, details.dropdown > summary + ul li a a.sortable:after,
details.dropdown > summary + ul li a svg,
details.dropdown > summary + ul li button .icon,
details.dropdown > summary + ul li button a.sortable:after,
details.dropdown > summary + ul li button svg {
  font-size: 1rem;
  flex-shrink: 0;
}
details.dropdown > summary + ul li a:hover, details.dropdown > summary + ul li a:focus,
details.dropdown > summary + ul li button:hover,
details.dropdown > summary + ul li button:focus {
  color: var(--primary-inverse);
  background-color: var(--duke-royal);
  text-decoration: none;
}
details.dropdown > summary + ul li a:hover .link-text, details.dropdown > summary + ul li a:focus .link-text,
details.dropdown > summary + ul li button:hover .link-text,
details.dropdown > summary + ul li button:focus .link-text {
  text-decoration: none;
}
details.dropdown > summary + ul li a.add,
details.dropdown > summary + ul li button.add {
  color: var(--duke-med-purple);
}
details.dropdown > summary + ul li a.add:hover, details.dropdown > summary + ul li a.add:focus,
details.dropdown > summary + ul li button.add:hover,
details.dropdown > summary + ul li button.add:focus {
  background-color: var(--duke-med-purple);
  color: var(--primary-inverse);
}
details.dropdown > summary + ul li a.resolve, details.dropdown > summary + ul li a.resolve-thread,
details.dropdown > summary + ul li button.resolve,
details.dropdown > summary + ul li button.resolve-thread {
  color: var(--duke-med-dark-green);
}
details.dropdown > summary + ul li a.resolve:hover, details.dropdown > summary + ul li a.resolve:focus, details.dropdown > summary + ul li a.resolve-thread:hover, details.dropdown > summary + ul li a.resolve-thread:focus,
details.dropdown > summary + ul li button.resolve:hover,
details.dropdown > summary + ul li button.resolve:focus,
details.dropdown > summary + ul li button.resolve-thread:hover,
details.dropdown > summary + ul li button.resolve-thread:focus {
  background-color: var(--duke-med-dark-green);
  color: var(--primary-inverse);
}
details.dropdown > summary + ul li a.delete,
details.dropdown > summary + ul li button.delete {
  color: var(--duke-med-red-dark);
}
details.dropdown > summary + ul li a.delete:hover, details.dropdown > summary + ul li a.delete:focus,
details.dropdown > summary + ul li button.delete:hover,
details.dropdown > summary + ul li button.delete:focus {
  color: var(--primary-inverse);
  background-color: var(--duke-med-red-dark);
}
details.dropdown > summary + ul li a.automate,
details.dropdown > summary + ul li button.automate {
  color: var(--duke-med-sky-blue);
}
details.dropdown > summary + ul li a.automate:hover, details.dropdown > summary + ul li a.automate:focus,
details.dropdown > summary + ul li button.automate:hover,
details.dropdown > summary + ul li button.automate:focus {
  color: var(--primary-inverse);
  background-color: var(--duke-med-sky-blue);
}
details.dropdown > summary + ul li a.export,
details.dropdown > summary + ul li button.export {
  color: var(--duke-univ-eno);
}
details.dropdown > summary + ul li a.export:hover, details.dropdown > summary + ul li a.export:focus,
details.dropdown > summary + ul li button.export:hover,
details.dropdown > summary + ul li button.export:focus {
  color: var(--primary-inverse);
  background-color: var(--duke-univ-eno);
}
details.dropdown > summary + ul li label.boolean {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  margin: 0;
  cursor: pointer;
  font-weight: 700;
  font-size: 0.875rem;
  text-transform: uppercase;
  color: var(--duke-royal);
  justify-content: flex-start;
}
details.dropdown > summary + ul li label.boolean:hover {
  background-color: var(--pico-dropdown-hover-background-color);
}
details.dropdown > summary + ul li label.boolean input[type=checkbox] {
  margin: 0;
}

nav.navigator {
  display: grid;
  grid-template-columns: auto 1fr auto;
  z-index: 200;
  border-radius: var(--pico-border-radius);
  background-color: var(--pico-background-color);
  justify-content: center;
  align-items: stretch;
  text-align: center;
}
nav.navigator > * {
  padding: 0.25rem;
}
nav.navigator button {
  margin: 0;
  background-color: var(--duke-med-sky-blue);
  border: var(--pico-border-width) solid var(--duke-med-sky-blue);
}
nav.navigator button.previous {
  border-radius: var(--pico-border-radius) 0 0 var(--pico-border-radius);
}
nav.navigator button.next {
  border-radius: 0 var(--pico-border-radius) var(--pico-border-radius) 0;
}
nav.navigator form {
  margin: 0;
  padding: 0;
}
nav.navigator form select {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--duke-royal);
  white-space: nowrap;
  height: 100%;
  width: 100%;
  border: none;
  border: var(--pico-border-width) solid var(--duke-med-sky-blue);
  border-bottom: var(--pico-border-width) solid var(--duke-med-sky-blue);
  border-radius: 0;
  overflow: visible;
  text-align: center;
  padding: 0 1.5rem 0 0.5rem;
  background-position-x: calc(100% - 0.25rem);
}
nav.navigator form select:focus {
  outline: none;
  box-shadow: none;
}

#flash-messages {
  position: fixed;
  right: 30vw;
  top: 3vh;
  width: 40vw;
  z-index: 1000;
}

.toast {
  position: relative;
  transition: opacity 1s;
  z-index: 9900;
  margin: 1rem;
  background-color: rgb(253, 253, 255);
  box-shadow: var(--card-box-shadow);
}
.toast > header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.toast.removing {
  opacity: 0;
}
.toast.hidden {
  opacity: 0;
}
.toast a.close {
  color: var(--secondary);
}
.toast a.close:hover {
  opacity: 0.75;
  color: var(--secondary);
  background: none;
}

.font-flourish {
  font-family: "Playfair Display", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: italic;
}

.is-stuck {
  box-shadow: var(--box-shadow-heavy);
}

[data-sticky-target=item],
[data-controller=sticky] {
  transition: box-shadow 0.2s ease-out, background-color 0.2s ease-out;
}

a[data-controller=scroll-to]:not([role=button]) {
  cursor: pointer;
  border-bottom: 1px dotted transparent;
}
a[data-controller=scroll-to]:not([role=button]):hover {
  border-bottom-color: var(--duke-royal);
}

.scroll-target-flash {
  animation: flashHighlight 1.5s ease-in;
}

@keyframes flashHighlight {
  100% {
    box-shadow: var(--box-shadow-heavy);
  }
  0% {
    box-shadow: var(--box-shadow-light);
  }
}
:root [data-theme=dark] {
  --attribution-color: var(--duke-med-gray-pale);
}
:root [data-theme=light] {
  --attribution-color: var(--duke-gray);
}

.attribution {
  font-size: 0.75rem;
  color: var(--attribution-color);
  margin-bottom: 0;
}

article > header {
  --pico-typography-spacing-vertical: 0;
}

.horizontal-card {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: calc(var(--pico-block-spacing-horizontal) * 2);
}
.horizontal-card .card-section {
  border-left: var(--pico-border-width) solid var(--pico-card-border-color);
  padding-left: var(--pico-block-spacing-horizontal);
}
.horizontal-card > header, .horizontal-card > footer {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}

/* Carousel Step Styles */
.carousel-step .carousel-step-hidden {
  display: none;
}
.carousel-step .carousel-step-active {
  display: block;
}

/* Optional: Add transitions for smoother step changes */
[data-carousel-target=step] {
  transition: opacity 0.3s ease-in-out;
}

.carousel-step-active {
  opacity: 1;
  pointer-events: auto;
}

/* Carousel controls styling */
.carousel-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 0;
  margin: 1rem 0 calc(-1 * var(--pico-block-spacing-vertical)) 0;
}
.carousel-controls button.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Optional: Step indicator dots */
.carousel-indicator-dots {
  display: flex;
  gap: 0.5rem;
  justify-content: center;
  align-items: center;
}

.carousel-indicator-dots .dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--muted-border-color);
  cursor: pointer;
  transition: all 0.2s ease;
}

.carousel-indicator-dots .dot.active {
  background-color: var(--primary);
  transform: scale(1.2);
}

.carousel-indicator-dots .dot:hover {
  background-color: var(--primary-hover);
}

/* Tom Select dropdown positioning for upward flip */
.ts-dropdown.ts-dropdown-up {
  bottom: 100% !important;
  top: auto !important;
}

.annotations-panel {
  background-color: var(--primary-inverse);
}
.annotations-panel turbo-frame#annotations-frame {
  display: contents;
}
.annotations-panel > header {
  padding: 0.5rem;
  background-color: var(--primary-inverse);
  display: grid;
  grid-template-columns: auto 2rem;
  height: var(--panel-header-height, 3rem);
  box-shadow: var(--box-shadow-light);
  z-index: 101;
}
.annotations-panel > header h3 {
  margin: 0;
  font-weight: 200;
  font-size: 1.7rem;
}
.annotations-panel > header.is-stuck {
  box-shadow: var(--box-shadow-heavy);
}
.annotations-panel .annotations-navigator {
  background-color: var(--primary-inverse);
  padding: 0.5rem;
  z-index: 3;
}
.annotations-panel .annotations-section {
  margin: 0;
  box-sizing: border-box;
  border-bottom: none;
  background: var(--primary-inverse);
}
.annotations-panel .annotations-section summary.annotations-section-header {
  top: var(--panel-header-height, 3rem);
  line-height: var(--pico-line-height);
  margin-bottom: 0;
  box-sizing: border-box;
  background-color: var(--primary-inverse);
  padding: 0.5rem;
  z-index: 1;
  height: var(--panel-header-height, 3rem);
  cursor: pointer;
  color: var(--duke-royal);
  user-select: none;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.annotations-panel .annotations-section summary.annotations-section-header:hover {
  background: var(--hover-bg-color, #e9ecef);
}
.annotations-panel .annotations-section summary.annotations-section-header::-webkit-details-marker {
  display: none;
}
.annotations-panel .annotations-section summary.annotations-section-header.is-stuck {
  box-shadow: var(--box-shadow-heavy);
}
.annotations-panel .annotations-section summary.annotations-section-header .header-wrapper {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.5rem;
  align-items: center;
  width: 100%;
}
.annotations-panel .annotations-section summary.annotations-section-header .header-wrapper h4 {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  color: var(--heading-color, #212529);
  gap: 0.5rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.annotations-panel .annotations-section summary.annotations-section-header .header-wrapper > div {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: end;
  align-items: center;
  gap: 0.5rem;
}
.annotations-panel .annotations-section summary.annotations-section-header .annotation-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  height: 1.5rem;
  padding: 0 0.5rem;
  background: var(--count-bg, #6c757d);
  color: var(--count-color, #ffffff);
  border-radius: 0.75rem;
  font-size: 0.75rem;
  font-weight: 600;
}
.annotations-panel .annotations-section summary.annotations-section-header .resolved-annotation-count {
  font-size: 0.8rem;
  text-transform: uppercase;
}
.annotations-panel .annotations-section .annotations-list {
  padding: 0.5rem 0.5rem 0 0.5rem;
}
.annotations-panel .annotations-section .annotations-list .annotations-section {
  margin-left: 1rem;
  margin-top: 0.5rem;
}
.annotations-panel .annotations-section[data-source=support-document] summary.annotations-section-header {
  background: var(--document-header-bg, #e3f2fd);
}
.annotations-panel .annotations-section[data-source=support-document] summary.annotations-section-header:hover {
  background: var(--document-header-hover, #bbdefb);
}
.annotations-panel .annotations-section[data-source=support-project] summary.annotations-section-header, .annotations-panel .annotations-section[data-source=support-project-document] summary.annotations-section-header {
  background: var(--project-header-bg, #f3e5f5);
}
.annotations-panel .annotations-section[data-source=support-project] summary.annotations-section-header:hover, .annotations-panel .annotations-section[data-source=support-project-document] summary.annotations-section-header:hover {
  background: var(--project-header-hover, #e1bee7);
}
.annotations-panel .annotations-section[data-source=support-project-effort] summary.annotations-section-header, .annotations-panel .annotations-section[data-source=support-project-effort-document] summary.annotations-section-header {
  background: var(--effort-header-bg, #fff3e0);
}
.annotations-panel .annotations-section[data-source=support-project-effort] summary.annotations-section-header:hover, .annotations-panel .annotations-section[data-source=support-project-effort-document] summary.annotations-section-header:hover {
  background: var(--effort-header-hover, #ffe0b2);
}
.annotations-panel .annotations-section.document-annotations-section > summary {
  background-color: var(--primary-inverse);
}

button.show-annotations.link-like {
  background: none;
  border: none;
  padding-top: 0;
  padding-bottom: 0;
  padding-inline: 0;
  cursor: pointer;
}

.annotation-status-icon {
  color: var(--duke-royal, #eeb211);
  vertical-align: middle;
  background: none;
  padding: 0;
}
.annotation-status-icon.add_comment {
  color: var(--duke-med-purple, #6c3483);
}
.annotation-status-icon.comment {
  color: var(--duke-royal, #eeb211);
}
.annotation-status-icon.resolved, .annotation-status-icon.mark_chat_read {
  color: var(--duke-med-green, #007a33);
}

@keyframes annotation-highlight {
  0% {
    background-color: rgba(0, 123, 255, 0.2);
  }
  100% {
    background-color: transparent;
  }
}
.annotation-highlight {
  animation: annotation-highlight 2s ease-out;
}

details.annotations-collection {
  padding: 0.5rem;
  display: grid;
  grid-auto-flow: row;
  gap: 0.5rem;
}
details.annotations-collection h3,
details.annotations-collection h4,
details.annotations-collection h5,
details.annotations-collection h6 {
  margin: 0;
}
details.annotations-collection {
  margin-bottom: 1rem;
}
details.annotations-collection > summary {
  margin: 0rem;
  background-color: none;
  color: var(--duke-royal-blue);
}
details.annotations-collection > summary:hover {
  text-decoration: underline;
}
details.annotations-collection[open] > summary {
  border-radius: var(--pico-border-radius) var(--pico-border-radius) 0 0;
  border: none;
}

.annotation {
  background: #fff;
  border: 1px solid var(--duke-med-gray-accent);
  border-left: 0.5rem solid var(--duke-med-purple);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
  padding: 0.5em 0.5rem 0.5rem 0.5rem;
  margin: 0 0 0.5rem 0;
  width: 100%;
  position: relative;
  border-radius: var(--pico-border-radius);
  box-sizing: border-box;
}
.annotation.not-persisted {
  background-color: var(--primary-highlight);
  box-shadow: var(--box-shadow-heavy);
}
.annotation.highlighted {
  box-shadow: var(--box-shadow-heavy);
  background-color: var(--duke-med-yellow-pale);
}
.annotation.highlighted.issue {
  border-color: var(--duke-med-yellow-dark);
}
.annotation.highlighted.resolved {
  border-color: var(--duke-med-green-dark);
}
.annotation.highlighted.comment {
  border-color: var(--duke-med-gray-light);
}
.annotation.comment {
  border-color: var(--duke-med-gray-accent);
}
.annotation.issue {
  border-color: var(--duke-med-yellow);
}
.annotation.resolved {
  border-left-color: var(--duke-med-green);
  opacity: 60%;
}
.annotation.resolved:hover {
  opacity: 100%;
}
.annotation.resolved .annotation-type {
  color: var(--duke-med-green);
}
.annotation .annotation-type {
  font-weight: bold;
  text-transform: uppercase;
  font-size: 0.9rem;
  font-weight: 600;
}
.annotation a.annotation-target {
  font-size: 0.9rem;
  font-weight: bold;
  text-transform: uppercase;
  border-bottom: 1px dashed transparent;
  font-weight: normal;
  margin-bottom: 0.25rem;
  color: var(--duke-gray);
}
.annotation a.annotation-target:hover {
  text-decoration: none;
  cursor: pointer;
  border-bottom: 1px dashed var(--duke-royal);
}
.annotation a.annotation-target .icon, .annotation a.annotation-target a.sortable:after {
  font-size: 1.5rem;
}
.annotation .annotation-parent {
  margin-bottom: 0.5rem;
}
.annotation .annotation-parent header.annotation-header {
  margin-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.annotation .annotation-content {
  margin-top: 0.5rem;
}
.annotation .annotation-header {
  display: flex;
  align-items: center;
  margin-bottom: 0.5rem;
}
.annotation .annotation-header .annotation-title {
  font-weight: bold;
  font-size: 1.1rem;
  margin-right: 0.5rem;
}
.annotation .annotation-header .annotation-sps-title {
  background: var(--duke-med-yellow, #eeb211);
  color: #222;
  padding: 0.1em 0.4em;
  border-radius: 0.2em;
  font-weight: bold;
  margin-left: 0.5em;
}
.annotation .annotation-description {
  margin-bottom: 0.5rem;
  color: var(--duke-gray-dark, #333);
  font-weight: 600;
}
.annotation .replies {
  margin-top: 0.25rem;
  background: transparent;
  border-radius: 0.3em;
  padding: 0;
}
.annotation .replies summary {
  padding: 0.25rem 0 0.25rem 0;
  font-size: 0.9rem;
  font-weight: bold;
  text-transform: uppercase;
  margin: 0;
  color: var(--duke-royal-blue) !important;
}
.annotation .replies .replies-list {
  list-style: none;
  padding: 0;
  margin: 0 0 0.5em 0;
}
.annotation .replies .replies-list .reply {
  margin: 0.25rem 0 0.25rem 0;
  padding: 0.25rem 0 0.25rem 0;
  border-bottom: 1px solid var(--duke-med-gray-accent, #ccc);
}
.annotation .replies .replies-list .reply .reply-description {
  margin-bottom: 0.25rem;
}
.annotation .replies .replies-list .reply strong {
  color: var(--duke-gray-dark, #222);
}
.annotation .replies .replies-list .reply .timestamp {
  font-size: 0.85em;
  color: var(--duke-gray, #888);
}
.annotation .add-reply {
  margin-top: 0.5em;
  gap: 0.25rem;
  align-items: stretch;
}
.annotation .add-reply textarea {
  margin: 0;
}
.annotation .add-reply input[type=submit].add-reply-btn {
  margin-top: 0.5rem;
  align-self: end;
}
.annotation .add-reply textarea {
  flex: 1;
  margin-right: 0.5em;
  border: 1px solid var(--duke-med-gray-accent, #ccc);
  border-radius: 0.2em;
  padding: 0.4em;
  font-size: 1em;
}
.annotation .add-reply .notify-participants {
  font-size: 0.95em;
  margin-left: 0.5em;
}
.annotation .resolve-btn {
  color: var(--duke-med-green, #007a33);
  font-weight: bold;
  margin-top: 0.5em;
  cursor: pointer;
  display: inline-block;
}

.resolve-thread {
  margin: 0;
}

.annotation-summary-icon {
  font-size: 1.5rem;
  vertical-align: middle;
}

.horizontal-radios input[type=radio] {
  display: inline-block;
}

.attribute .annotation-indicator-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.attribute .annotation-indicator-wrapper a[role=button],
.attribute .annotation-indicator-wrapper button {
  margin: 0;
  padding: 0;
}

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

.annotation-thread details {
  margin-top: 0;
}
.annotation-thread data.has-issues .document-value {
  display: inline;
  padding: 0.25rem;
  margin: -0.25rem 0 -0.25rem 0.25rem;
  background-color: var(--duke-med-yellow);
}
.annotation-thread .tag.pill.total {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.annotation-thread .tag.pill.total .count-type {
  font-weight: 400;
  font-size: 0.85em;
}
.annotation-thread .tag.pill.total.issue {
  background-color: var(--duke-med-yellow, #fbbf24);
  color: var(--duke-med-gray-dark, #333);
}
.annotation-thread .tag.pill.total.comment {
  background-color: var(--duke-med-sky-blue, #60a5fa);
  color: var(--pico-primary-inverse, #333);
}

.attribute > .annotation-indicator-wrapper .add-indicator {
  visibility: hidden;
}

.attribute:hover > .annotation-indicator-wrapper .add-indicator {
  visibility: visible;
}

.project-efforts tr.row td.annotation-cell .annotation-indicator-wrapper .add-indicator {
  visibility: hidden;
}
.project-efforts tr.row:hover td.annotation-cell .annotation-indicator-wrapper .add-indicator {
  visibility: visible;
}

details.suggested-value-container {
  width: 100%;
  box-sizing: border-box;
  padding: 0.5rem;
  margin-bottom: 0rem;
  background-color: rgba(177, 185, 81, 0.2);
}
details.suggested-value-container[open] summary {
  margin-bottom: 0.25rem;
}
details.suggested-value-container header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.8rem;
}
details.suggested-value-container .label {
  font-weight: bold;
}
details.suggested-value-container .suggested-value {
  display: flex;
  width: 100%;
  justify-content: start;
  align-items: center;
  gap: 0.25rem;
  grid-template-columns: auto auto auto;
}
details.suggested-value-container .suggested-value > * {
  margin: 0;
  padding: 0;
}
details.suggested-value-container .suggested-value form {
  margin-left: auto;
  max-height: 2rem;
}
details.suggested-value-container .suggested-value form button {
  margin: 0;
  padding: 0;
}

span.suggested-value-inline {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  background-color: rgba(177, 185, 81, 0.4);
  padding: 0.25rem 0.5rem;
  margin: 0 0.5rem;
  font-size: 0.9rem;
}
span.suggested-value-inline form {
  display: inline-flex;
  margin: 0;
  padding: 0;
  line-height: 1;
}
span.suggested-value-inline button {
  margin: 0;
  padding: 0;
  height: auto;
  line-height: 1;
  background: none;
  border: none;
}

.has-suggestion {
  color: var(--duke-gray);
}

.badge-count {
  color: var(--duke-navy);
  height: 1.75rem;
}
.badge-count .count {
  padding: 0 0.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  font-family: "Roboto Mono", monospace;
  height: 1.5rem;
  font-weight: bold;
  border-radius: 50%;
  aspect-ratio: 1/1;
  color: var(--primary-inverse);
}
.badge-count .count.issues {
  background-color: var(--duke-med-yellow-dark);
}
.badge-count .count.comments {
  background-color: var(--duke-med-sky-blue);
}
.badge-count.dual {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  justify-content: center;
}
.badge-count.dual .count {
  aspect-ratio: auto;
  width: auto;
}
.badge-count.dual .count.issues {
  border-radius: 50% 0 0 50%;
  padding-left: 0.5rem;
}
.badge-count.dual .count.comments {
  border-radius: 0 50% 50% 0;
  padding-right: 0.5rem;
}

.annotation.scroll-target-flash {
  animation: flashHighlight 1s ease-out;
}

.annotations-controls {
  padding: 0.5rem;
  background-color: var(--primary-inverse);
  position: sticky;
  margin-bottom: 0;
  top: 0;
  height: var(--panel-header-height, 3rem);
  display: grid;
  grid-template-columns: 1fr auto;
  justify-content: space-between;
  align-items: center;
  z-index: 100;
}
.annotations-controls.is-stuck {
  box-shadow: var(--box-shadow-heavy);
}

.annotation-filters {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  margin: 0;
  padding: 0;
  border: none;
}
.annotation-filters legend {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.annotation-filters .radio-label {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0;
  cursor: pointer;
  font-size: 0.875rem;
  white-space: nowrap;
}
.annotation-filters .radio-label input[type=radio] {
  margin: 0;
  cursor: pointer;
}
.annotation-filters .radio-label span {
  user-select: none;
}
.annotation-filters .radio-label:hover {
  color: var(--duke-med-blue);
}

.document-stage {
  --icon-size: 2.5rem;
  --current-icon-size: calc(1.5 * var(--icon-size));
  --icon-padding-scale: 0.08;
  width: auto;
}
.document-stage nav.stage-tracker {
  display: grid;
  padding: 0;
  grid-auto-flow: column;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.document-stage nav.stage-tracker .stage {
  --stage-color: var(--muted-color);
  margin: 0;
  padding: 0;
}
.document-stage nav.stage-tracker .stage.draft_and_review {
  --stage-color: var(--duke-univ-ironweed);
  --stage-color-pale: rgb(216.75, 140.25, 216.75);
}
.document-stage nav.stage-tracker .stage.central_review {
  --stage-color: var(--duke-univ-prussian-blue);
  --stage-color-pale: rgb(33, 172.7777777778, 255);
}
.document-stage nav.stage-tracker .stage.sciencv_process {
  --stage-color: var(--duke-univ-persimmon);
  --stage-color-pale: rgb(246.4814814815, 217.2222222222, 173.5185185185);
}
.document-stage nav.stage-tracker .stage.final_check {
  --stage-color: var(--duke-univ-copper);
  --stage-color-pale: rgb(255, 159.23, 98);
}
.document-stage nav.stage-tracker .stage.ready_for_submission {
  --stage-color: var(--duke-univ-eno);
  --stage-color-pale: rgb(139.6896551724, 216.3103448276, 216.3103448276);
}
.document-stage nav.stage-tracker .stage .icon-wrapper {
  width: var(--icon-size);
  height: var(--icon-size);
  padding: calc(var(--icon-padding-scale) * var(--icon-size));
  border-radius: 25%;
  border: var(--border-width) solid var(--muted-border-color);
  background-color: var(--primary-inverse);
  color: var(--muted-color);
}
.document-stage nav.stage-tracker .stage .icon-wrapper .icons {
  width: 100%;
  height: 100%;
}
.document-stage nav.stage-tracker .stage .connector {
  height: 3px;
  background-color: var(--muted-border-color);
  display: block;
}
.document-stage nav.stage-tracker .stage .name {
  display: block;
  font-size: 0.85rem;
  color: var(--muted-color);
}
.document-stage nav.stage-tracker .stage.completed .icon-wrapper {
  background-color: var(--stage-color);
  border-color: var(--stage-color);
  color: var(--primary-inverse);
}
.document-stage nav.stage-tracker .stage.completed .connector {
  background-color: var(--stage-color);
}
.document-stage nav.stage-tracker .stage.completed .name {
  color: var(--stage-color);
}
.document-stage nav.stage-tracker .stage.current .icon-wrapper {
  width: var(--current-icon-size);
  height: var(--current-icon-size);
  padding: calc(var(--icon-padding-scale) * var(--current-icon-size));
  border-color: var(--stage-color);
  color: var(--stage-color);
}
.document-stage nav.stage-tracker .stage.current .name {
  color: var(--stage-color);
  font-weight: bold;
}
.document-stage nav.stage-tracker .stage.upcoming .icon-wrapper {
  border-color: var(--muted-border-color);
  color: var(--inactive);
}
.document-stage.vertical {
  --marker-column-width: var(--current-icon-size);
}
.document-stage.vertical nav.stage-tracker {
  display: grid;
  gap: 0;
  align-items: start;
  width: 100%;
  grid-auto-flow: row;
  justify-content: start;
}
.document-stage.vertical nav.stage-tracker .stage {
  display: grid;
  column-gap: 1rem;
  row-gap: 0;
  grid-template-columns: var(--current-icon-size) 1fr;
  grid-template-rows: auto minmax(1rem, 1fr);
  align-items: start;
}
.document-stage.vertical nav.stage-tracker .stage .marker {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.document-stage.vertical nav.stage-tracker .stage .icon-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: inherit;
}
.document-stage.vertical nav.stage-tracker .stage .connector {
  grid-column: 1;
  grid-row: 2;
  width: 3px;
  height: 100%;
  justify-self: center;
  background-color: var(--muted-border-color);
  display: block;
}
.document-stage.vertical nav.stage-tracker .stage .name {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  padding: 0 0 0 1rem;
  text-align: left;
  display: flex;
  align-items: center;
  align-self: center;
}
.document-stage.vertical nav.stage-tracker .stage .stage-actions {
  grid-column: 2;
  grid-row: 2;
  margin: 0;
}
.document-stage.vertical nav.stage-tracker .stage:last-child .connector {
  display: none;
}

[data-theme=dark] .document-stage nav.stage-tracker .stage .icon-wrapper {
  background-color: var(--card-background-color);
  border-color: var(--muted-border-color);
  color: var(--muted-color);
}
[data-theme=dark] .document-stage nav.stage-tracker .stage .connector {
  background-color: var(--duke-med-gray-pale);
}
[data-theme=dark] .document-stage nav.stage-tracker .stage .name {
  color: var(--duke-med-gray-pale);
}
[data-theme=dark] .document-stage nav.stage-tracker .stage.completed .icon-wrapper {
  background-color: var(--stage-color);
  border-color: var(--stage-color-pale);
  color: var(--pico-contrast);
}
[data-theme=dark] .document-stage nav.stage-tracker .stage.completed .connector {
  background-color: var(--stage-color-pale);
}
[data-theme=dark] .document-stage nav.stage-tracker .stage.completed .name {
  color: var(--stage-color-pale);
}
[data-theme=dark] .document-stage nav.stage-tracker .stage.current .icon-wrapper {
  border-color: var(--stage-color-pale);
  color: var(--stage-color);
  background-color: var(--card-background-color);
}
[data-theme=dark] .document-stage nav.stage-tracker .stage.current .name {
  color: var(--duke-med-gray-pale);
}
[data-theme=dark] .document-stage nav.stage-tracker .stage.upcoming .icon-wrapper {
  border-color: var(--muted-border-color);
  color: var(--muted-color);
  opacity: 0.6;
}
[data-theme=dark] .document-stage nav.stage-tracker .stage.upcoming .connector {
  opacity: 0.4;
}
[data-theme=dark] .document-stage nav.stage-tracker .stage.upcoming .name {
  opacity: 0.8;
}

.support-document-layout .support_document {
  --gutter: clamp(1.75rem, 2vw, 100rem);
  --gutter-negative: calc(-1 * var(--gutter));
  display: flex;
  flex-flow: column;
  height: 100%;
  padding: 1.5rem var(--gutter) 0 var(--gutter);
  margin-bottom: 0;
}
.support-document-layout .support_document .display-content {
  display: contents;
}
.support-document-layout .support_document p.instructions {
  font-size: 0.9rem;
}
.support-document-layout .support_document h4 {
  font-size: 1.5rem;
  font-weight: normal;
  margin-top: 1rem;
}
.support-document-layout .support_document .stage.draft_and_review {
  color: var(--duke-univ-ironweed);
}
.support-document-layout .support_document .stage.central_review {
  color: var(--duke-univ-prussian-blue);
}
.support-document-layout .support_document .stage.sciencv_process {
  color: var(--duke-univ-persimmon);
}
.support-document-layout .support_document .stage.final_check {
  color: var(--duke-univ-copper);
}
.support-document-layout .support_document .stage.ready_for_submission {
  color: var(--duke-univ-eno);
}
.support-document-layout .support_document > footer {
  background-color: var(--duke-univ-limestone);
  padding: 1rem;
  text-align: center;
  margin: auto var(--gutter-negative) -1.5rem var(--gutter-negative);
  font-size: 0.85rem;
  text-transform: uppercase;
}
.support-document-layout .support_document > header {
  position: sticky;
  top: 0;
  height: var(--panel-header-height, 3rem);
  z-index: 100;
  margin: -1.5rem var(--gutter-negative) 0 var(--gutter-negative);
  padding: 0.5rem;
  background-color: var(--primary-inverse);
  box-shadow: var(--box-shadow-light);
  font-weight: 200;
}
.support-document-layout .support_document > header.is-stuck {
  box-shadow: var(--box-shadow-heavy);
}
.support-document-layout .support_document > header .document-header-content {
  min-height: 1.75rem;
  display: grid;
  grid-template-columns: 4fr auto;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.support-document-layout .support_document > header .document-header-content .document-title-wrapper {
  display: flex;
  align-items: center;
  gap: 1rem;
  justify-content: flex-start;
}
.support-document-layout .support_document > header .document-header-content.edit-mode {
  display: grid;
  grid-template-columns: 4fr 1fr auto 2rem;
  align-items: start;
}
.support-document-layout .support_document > header .document-header-content.edit-mode label {
  margin-top: 0;
}
.support-document-layout .support_document > header .document-header-content.edit-mode input,
.support-document-layout .support_document > header .document-header-content.edit-mode select {
  margin-bottom: 0;
}
.support-document-layout .support_document > header .document-header-content.edit-mode .form-submit {
  width: fit-content;
  align-self: center;
}
.support-document-layout .support_document > header .close-control {
  justify-self: center;
  margin: 0.5rem;
}
.support-document-layout .support_document > header > h2,
.support-document-layout .support_document > header h3 {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 200;
  font-size: 1.7rem;
}
.support-document-layout .support_document > header nav.document-actions {
  background-color: var(--duke-med-purple);
  margin: 0;
  padding: 0.5rem;
  position: sticky;
  top: 0;
  z-index: 10;
  text-align: right;
}
.support-document-layout .support_document > header nav.document-actions input,
.support-document-layout .support_document > header nav.document-actions button,
.support-document-layout .support_document > header nav.document-actions a {
  margin: 0;
  font-size: 1rem;
  font-weight: bold;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--duke-med-sky-blue-pale);
}
.support-document-layout .support_document > header nav.document-actions input:hover,
.support-document-layout .support_document > header nav.document-actions button:hover,
.support-document-layout .support_document > header nav.document-actions a:hover {
  text-decoration: none;
  color: var(--duke-med-yellow);
}
.support-document-layout .support_document .document-card-header {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: auto;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem;
  border-bottom: 1px solid var(--duke-med-gray-accent);
}
.support-document-layout .document_type_support_document {
  font-weight: normal;
  font-size: 1rem;
}
.support-document-layout .document-attributes .document-form {
  display: grid;
  padding: 0;
  grid-auto-flow: row;
  gap: 1rem;
}
.support-document-layout .document-attributes .document-form .label,
.support-document-layout .document-attributes .document-form label,
.support-document-layout .document-attributes .document-form input,
.support-document-layout .document-attributes .document-form select,
.support-document-layout .document-attributes .document-form button {
  margin: 0;
}
.support-document-layout .document-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  align-items: center;
}
.support-document-layout .document-section header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.support-document-layout .document-content {
  margin-top: 2rem;
}
.support-document-layout .document-content > header {
  display: flex;
  justify-content: flex-start;
  align-items: start;
  gap: 1rem;
}
.support-document-layout .document-content > header > h3 {
  margin: 0;
}
.support-document-layout .document-content > header .controls {
  margin-left: auto;
}
.support-document-layout .document-content button {
  font-weight: bold;
  text-transform: uppercase;
}
.support-document-layout .document-content .detail-line-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  align-items: center;
  margin: 0.125rem 0;
  padding-top: 0.25rem;
  font-size: 0.85rem;
  border-top: 0.5px solid var(--duke-med-gray-accent);
}
.support-document-layout .document-content .item .item-value {
  display: flex;
  align-items: center;
  justify-content: space-between;
  align-items: center;
}
.support-document-layout .document-content .justification-section > header {
  display: flex;
  gap: 1rem;
  justify-content: flex-start;
  align-items: start;
  margin-bottom: 1rem;
}
.support-document-layout .document-content .justification-section > header > * {
  margin: 0;
}
.support-document-layout .document-content .justification-section > header .controls {
  display: flex;
  gap: 0.5rem;
}
.support-document-layout .document-content .justification-section > header .controls button {
  all: unset;
  cursor: pointer;
  color: var(--pico-secondary-inverse);
  background-color: var(--duke-royal);
  padding: 0.25rem 0.5rem;
  border-radius: var(--pico-border-radius);
  font-size: 0.9rem;
}
.support-document-layout .document-content .justification-section > header .controls button:hover {
  background-color: var(--duke-med-yellow);
  color: var(--duke-gray);
}
.support-document-layout .document-content textarea.json {
  font-family: monospace;
}
.support-document-layout .document-content p.field {
  display: grid;
  grid-template-columns: 15vw 1.5em 4fr;
  column-gap: 1rem;
  align-items: center;
}
.support-document-layout .document-content p.field > * {
  margin: 0;
}
.support-document-layout .document-content p.field span.label {
  text-align: right;
  padding-top: 0.15rem;
  margin-left: auto;
}
.support-document-layout .document-content p.field data {
  line-height: 1.2;
  display: flex;
  align-items: center;
}
.support-document-layout .document-content .commitment-parts,
.support-document-layout .document-content .effort-insight-parts {
  flex: 2 1 0;
  display: grid;
  align-items: start;
  grid-template-columns: repeat(3, 1fr);
  justify-content: space-between;
  gap: var(--block-spacing-horizontal);
  padding: var(--block-spacing-horizontal);
  font-size: 90%;
  border-left: var(--border-width) solid var(--muted-border-color);
  border-radius: 0 var(--border-radius) var(--border-radius) 0;
  background-color: rgba(245, 200, 103, 0.3);
}
.support-document-layout .document-content .commitment-parts label,
.support-document-layout .document-content .effort-insight-parts label {
  font-weight: normal;
}
.support-document-layout .document-content .commitment-parts p.data-unit,
.support-document-layout .document-content .commitment-parts input,
.support-document-layout .document-content .effort-insight-parts p.data-unit,
.support-document-layout .document-content .effort-insight-parts input {
  margin: 0 0 0.25rem 0 !important;
}
.support-document-layout .document-content .commitment-parts data,
.support-document-layout .document-content .effort-insight-parts data {
  font-size: 1.2rem;
  font-weight: normal;
}
.support-document-layout .document-content .commitment-parts.mini,
.support-document-layout .document-content .effort-insight-parts.mini {
  display: grid;
  --block-spacing-horizontal: 0.5rem;
}
.support-document-layout .document-content .commitment-parts.mini label,
.support-document-layout .document-content .effort-insight-parts.mini label {
  font-size: 0.8rem;
  margin-bottom: 0;
  margin-top: 0;
  font-weight: bold;
}
.support-document-layout .document-content .commitment-parts.mini data,
.support-document-layout .document-content .effort-insight-parts.mini data {
  font-size: 0.95rem;
  font-weight: normal;
}
.support-document-layout .document-content .commitment-parts.mini .data-unit,
.support-document-layout .document-content .effort-insight-parts.mini .data-unit {
  font-size: 0.75rem;
}
.support-document-layout .document-content .excluded_from_analysis {
  opacity: 0.65;
  font-style: italic;
}
.support-document-layout .document-content .feedback-panel-container {
  display: grid;
  position: fixed;
  left: 0;
}
.support-document-layout .document-content .feedback-panel-container:after {
  content: "Submit Feedback";
  position: absolute;
  top: 2rem;
  right: 0rem;
  text-orientation: sideways;
  color: white;
  height: 3rem;
  padding: 0.5rem;
  transform: rotate(-90deg);
  transform-origin: top right;
  text-align: right;
  background-color: var(--duke-med-purple);
  font-weight: bold;
  text-transform: uppercase;
  font-size: 1rem;
}
.support-document-layout .document-content .feedback-panel-container .feedback-panel {
  width: 35vw;
  visibility: visible;
  border: 1px solid var(--duke-med-purple);
  background-color: var(--duke-navy);
  padding: 0rem;
  height: calc(100vh - 2rem);
  overflow-y: hidden;
}
.support-document-layout .document-content .feedback-panel-container .feedback-panel iframe {
  width: 100%;
  height: calc(100% - 2rem);
  border: none;
  max-width: 100%;
  max-height: 100vh;
}
.support-document-layout .document-content .feedback-panel-container .feedback-panel .panel-control {
  border-radius: 0;
  border: none;
  width: 100%;
  padding: 0.25rem;
  margin: 0;
  background-color: var(--duke-med-purple);
}
.support-document-layout .document-content .feedback-panel-container .feedback-panel .panel-control:hover {
  color: var(--duke-med-yellow);
}
.support-document-layout .document-content .not-found {
  font-weight: bold;
  text-transform: uppercase;
  font-size: 0.8rem;
}
.support-document-layout .document-content section.not-compared section.project-data {
  margin: 1rem;
  padding: 3rem 1rem 1rem 1rem;
  border-width: 1px;
  border-style: solid;
  border-color: var(--duke-med-gray-accent);
  border-radius: var(--pico-border-radius);
}
.support-document-layout .document-content section.not-compared section.project-data::before {
  content: "Data from SPS";
  position: relative;
  display: block;
  left: 0;
  right: 0;
  background: var(--duke-med-gray-accent);
  font-weight: bold;
  text-transform: uppercase;
  font-size: 1.25rem;
  text-align: center;
  margin: -3rem -1rem 2rem -1rem;
  color: white;
}
.support-document-layout .document-content section.projects {
  margin-top: 2rem;
}
.support-document-layout .document-content section.projects > header {
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 2px solid var(--duke-med-gray-accent);
}
.support-document-layout .document-content section.pairing-info {
  padding: 1rem;
  width: fit-content;
  margin: 1rem;
}
.support-document-layout .document-content section.pairing-info p {
  font-weight: bold;
  text-transform: uppercase;
}
.support-document-layout .document-content .inline-link-icon .icon, .support-document-layout .document-content .inline-link-icon a.sortable:after {
  margin-top: -0.25rem;
}
.support-document-layout .document-content article.person {
  display: grid;
  grid-template-columns: 2fr 3fr;
}
.support-document-layout .document-content article.person > header {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.support-document-layout .document-content article.person > header * {
  margin: 0;
}
.support-document-layout .commitment-year {
  display: flex;
  align-items: center;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  width: 100%;
}
.support-document-layout .commitment-year .icon, .support-document-layout .commitment-year a.sortable:after {
  font-size: 1.5rem;
  margin-left: auto;
}
.support-document-layout .commitment-year .commitment-year-label {
  font-weight: bold;
  text-transform: uppercase;
  font-size: 1.2rem;
  margin-right: 0.5rem;
}
.support-document-layout .disclosures-container {
  align-items: start;
}
.support-document-layout .admin-controls {
  max-width: 90vw;
}
.support-document-layout .admin-controls article {
  padding: 0;
}
.support-document-layout .admin-controls pre {
  padding: 1rem;
}
.support-document-layout pre.json-data {
  max-height: 500px;
  overflow: auto;
  white-space: pre-wrap;
  word-break: break-word;
  overflow-wrap: break-word;
  background-color: white;
}
.support-document-layout pre,
.support-document-layout pre code,
.support-document-layout .code,
.support-document-layout .language-json,
.support-document-layout .language-json code,
.support-document-layout pre[class*=language-],
.support-document-layout code[class*=language-] {
  white-space: pre-wrap !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  background-color: white;
}

.starting-year {
  margin-left: 0.5rem;
}

.orcid-note {
  font-size: 0.8rem;
  margin-left: 0.5rem;
  flex-shrink: 5;
}

.support-document-panel-header, .support-document-overview > header, .document-summary > header.panel-header {
  display: grid;
  box-sizing: border-box;
  grid-template-columns: 1fr auto;
  grid-template-areas: "title state";
  align-items: start;
  justify-content: start;
  background-color: var(--duke-royal);
}
.support-document-panel-header div.stage-banner, .support-document-overview > header div.stage-banner, .document-summary > header.panel-header div.stage-banner {
  grid-column: 1/-1;
  width: calc(100% + 2rem);
  margin: var(--section-padding-negative);
  margin-bottom: 0.5rem;
  padding: var(--section-padding);
  left: 0;
  right: 0;
  position: relative;
  background-color: var(--primary-inverse);
  font-weight: 600;
  font-size: 1.2rem;
  align-items: center;
  display: flex;
  gap: 1rem;
}
.support-document-panel-header .subject, .support-document-overview > header .subject, .document-summary > header.panel-header .subject {
  margin: 0.5rem 0.5rem 0 0.5rem;
  grid-column: 1/-1;
}
.support-document-panel-header .flag, .support-document-overview > header .flag, .document-summary > header.panel-header .flag {
  margin: var(--section-padding-negative);
  margin-left: 0;
  margin-right: 0;
  justify-content: center;
}
.support-document-panel-header .flag.unknown, .support-document-overview > header .flag.unknown, .document-summary > header.panel-header .flag.unknown {
  background-color: var(--duke-med-red-dark);
}
.support-document-panel-header .flag, .support-document-overview > header .flag, .document-summary > header.panel-header .flag {
  background-color: var(--duke-med-sky-blue);
}
.support-document-panel-header .flag.draft, .support-document-overview > header .flag.draft, .document-summary > header.panel-header .flag.draft {
  background-color: var(--duke-univ-ironweed);
}
.support-document-panel-header .flag.submitted, .support-document-overview > header .flag.submitted, .document-summary > header.panel-header .flag.submitted {
  background-color: var(--duke-univ-eno);
}
.support-document-panel-header .flag.returned, .support-document-overview > header .flag.returned, .document-summary > header.panel-header .flag.returned {
  background-color: var(--duke-univ-persimmon);
}
.support-document-panel-header .flag.approved, .support-document-overview > header .flag.approved, .document-summary > header.panel-header .flag.approved {
  background-color: var(--duke-univ-piedmont);
}
.support-document-panel-header .flag.provisional, .support-document-overview > header .flag.provisional, .document-summary > header.panel-header .flag.provisional {
  background-color: var(--duke-univ-dogwood);
}
.support-document-panel-header .flag.expired, .support-document-overview > header .flag.expired, .document-summary > header.panel-header .flag.expired {
  background-color: var(--duke-univ-copper);
}
.support-document-panel-header h1, .support-document-overview > header h1, .document-summary > header.panel-header h1 {
  font-size: 0.9rem;
  font-weight: normal;
  margin: 0;
}
.support-document-panel-header .subject, .support-document-overview > header .subject, .document-summary > header.panel-header .subject {
  border-radius: var(--pico-border-radius);
  padding: 0;
  margin: 0.5rem 0 0 0;
}
.support-document-panel-header .subject > header, .support-document-overview > header .subject > header, .document-summary > header.panel-header .subject > header {
  margin-bottom: 0rem;
}
.support-document-panel-header .subject h2.subject-name, .support-document-overview > header .subject h2.subject-name, .document-summary > header.panel-header .subject h2.subject-name {
  font-size: 2.5rem;
  font-weight: 200;
}
.support-document-panel-header .subject .subject-title, .support-document-overview > header .subject .subject-title, .document-summary > header.panel-header .subject .subject-title {
  font-size: 0.9rem;
  font-weight: normal;
  margin: 0.25rem 0;
  margin-bottom: 0.5rem;
}
.support-document-panel-header .subject .subject-organization, .support-document-overview > header .subject .subject-organization, .document-summary > header.panel-header .subject .subject-organization {
  font-size: 0.9rem;
  font-weight: normal;
  margin: 0.25rem 0;
}
.support-document-panel-header .subject section, .support-document-overview > header .subject section, .document-summary > header.panel-header .subject section {
  margin: 0;
}
.support-document-panel-header .subject details[open], .support-document-overview > header .subject details[open], .document-summary > header.panel-header .subject details[open] {
  margin-bottom: 0.5rem;
}
.support-document-panel-header .subject details summary h3, .support-document-overview > header .subject details summary h3, .document-summary > header.panel-header .subject details summary h3 {
  font-size: 0.9rem;
}
.support-document-panel-header .subject .subject-details, .support-document-overview > header .subject .subject-details, .document-summary > header.panel-header .subject .subject-details {
  margin: 0.25rem 0;
  color: var(--primary-inverse);
}
.support-document-panel-header .subject .subject-details details[open], .support-document-overview > header .subject .subject-details details[open], .document-summary > header.panel-header .subject .subject-details details[open] {
  border-bottom: none;
}
.support-document-panel-header .subject .subject-details .identifiers, .support-document-overview > header .subject .subject-details .identifiers, .document-summary > header.panel-header .subject .subject-details .identifiers {
  display: grid;
  border-top: var(--pico-border-width) solid var(--duke-gray-accent);
  padding-top: 0.5rem;
  grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr));
  gap: 1rem;
  margin-top: 0.5rem;
  max-width: 100%;
}
.support-document-panel-header .subject .subject-details .identifiers .field-group, .support-document-overview > header .subject .subject-details .identifiers .field-group, .document-summary > header.panel-header .subject .subject-details .identifiers .field-group {
  display: grid;
  grid-template-rows: auto auto;
  gap: 0.125rem;
  min-width: 0;
  max-width: 100%;
}
.support-document-panel-header .subject .subject-details .identifiers .field-group .label, .support-document-overview > header .subject .subject-details .identifiers .field-group .label, .document-summary > header.panel-header .subject .subject-details .identifiers .field-group .label {
  font-size: 0.75rem;
  color: var(--duke-med-gray-accent);
  margin: 0;
}
.support-document-panel-header .subject .subject-details .identifiers .field-group .value, .support-document-overview > header .subject .subject-details .identifiers .field-group .value, .document-summary > header.panel-header .subject .subject-details .identifiers .field-group .value {
  font-size: 0.85rem;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  min-width: 0;
  max-width: 100%;
}
.support-document-panel-header .subject .subject-details .identifiers .field-group .value.highlight-text, .support-document-overview > header .subject .subject-details .identifiers .field-group .value.highlight-text, .document-summary > header.panel-header .subject .subject-details .identifiers .field-group .value.highlight-text {
  color: var(--duke-univ-piedmont);
}
.support-document-panel-header .subject .subject-details .identifiers .field-group .value .truncate-text, .support-document-overview > header .subject .subject-details .identifiers .field-group .value .truncate-text, .document-summary > header.panel-header .subject .subject-details .identifiers .field-group .value .truncate-text,
.support-document-panel-header .subject .subject-details .identifiers .field-group .value span:first-child,
.support-document-overview > header .subject .subject-details .identifiers .field-group .value span:first-child,
.document-summary > header.panel-header .subject .subject-details .identifiers .field-group .value span:first-child {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.support-document-panel-header .subject .subject-details .identifiers .field-group .value button, .support-document-overview > header .subject .subject-details .identifiers .field-group .value button, .document-summary > header.panel-header .subject .subject-details .identifiers .field-group .value button {
  flex: 0 0 auto;
}

.document-summary {
  color: var(--pico-color);
  --section-padding: 0.5rem 1rem;
  --section-padding-negative: -0.5rem -1rem;
  padding: 0;
  margin: 0;
  min-height: 0;
  height: 100%;
  box-sizing: border-box;
  background-color: var(--duke-navy);
  display: grid;
  grid-template-rows: auto auto auto 1fr;
  align-items: start;
  align-content: start;
}
.document-summary details > summary:hover h1,
.document-summary details > summary:hover h2,
.document-summary details > summary:hover h3,
.document-summary details > summary:hover h4,
.document-summary details > summary:hover h5,
.document-summary details > summary:hover h6 {
  margin: 0;
  color: var(--duke-med-yellow);
}
.document-summary .label {
  margin-bottom: 0;
  color: var(--pico-color);
}
.document-summary details {
  margin: 0 -0.25rem;
  padding: 0 0.25rem;
}
.document-summary details > summary {
  padding: 0.5rem 0.25rem;
  margin: 0 -0.25rem;
}
.document-summary details > summary h1,
.document-summary details > summary h2,
.document-summary details > summary h3,
.document-summary details > summary h4,
.document-summary details > summary h5,
.document-summary details > summary h6 {
  margin: 0;
  color: var(--duke-med-sky-blue-pale);
}
.document-summary details > summary:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.document-summary details > summary:hover h1,
.document-summary details > summary:hover h2,
.document-summary details > summary:hover h3,
.document-summary details > summary:hover h4,
.document-summary details > summary:hover h5,
.document-summary details > summary:hover h6 {
  margin: 0;
  color: var(--duke-med-yellow);
}
.document-summary details[open] {
  margin-bottom: 0.25rem;
  padding-bottom: 0.5rem;
  border-bottom: var(--pico-border-width) solid var(--duke-gray);
}
.document-summary details[open] > summary {
  margin-bottom: 0.5rem;
  border-color: transparent;
}
.document-summary details[open] > summary h1,
.document-summary details[open] > summary h2,
.document-summary details[open] > summary h3,
.document-summary details[open] > summary h4,
.document-summary details[open] > summary h5,
.document-summary details[open] > summary h6 {
  color: var(--duke-med-yellow);
}
.document-summary .label {
  color: var(--duke-med-gray-accent);
}
.document-summary h1,
.document-summary h2,
.document-summary h3,
.document-summary h4,
.document-summary h5,
.document-summary h6 {
  margin: 0 0 0.5rem 0;
}
.document-summary h3 {
  font-size: 1.35rem;
}
.document-summary h4 {
  font-size: 1rem;
}
.document-summary h5 {
  font-size: 0.9rem;
  font-weight: bold;
}
.document-summary summary > h5 {
  text-transform: uppercase;
}
.document-summary > * {
  margin: 0;
  padding: var(--section-padding);
}
.document-summary details > summary {
  text-transform: uppercase;
}
.document-summary details > summary h1,
.document-summary details > summary h2,
.document-summary details > summary h3,
.document-summary details > summary h4,
.document-summary details > summary h5,
.document-summary details > summary h6 {
  font-weight: 600;
}
.document-summary .appointment {
  color: var(--primary-inverse);
  padding-top: 0;
  margin: 0.25rem 0 0 0.5rem;
  display: grid;
  grid-template-columns: min-content minmax(0, 1fr);
  gap: 1rem;
  font-size: 2rem;
}
.document-summary .appointment header,
.document-summary .appointment details,
.document-summary .appointment summary,
.document-summary .appointment h4,
.document-summary .appointment h3 {
  grid-column: 1/-1;
  font-size: 0.9rem;
  font-weight: normal;
  margin: 0;
}
.document-summary .appointment .appointment-total {
  display: grid;
  grid-auto-flow: row;
  align-items: start;
  justify-content: start;
}
.document-summary .appointment .appointment-total .value {
  align-self: center;
}
.document-summary .appointment .current-effort {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.25rem;
  font-size: 1rem;
  align-items: center;
}
.document-summary .appointment .current-effort h5 {
  font-weight: normal;
}
.document-summary .appointment .current-effort > div h5 {
  text-overflow: ellipsis;
  white-space: no-wrap;
}
.document-summary [data-theme=dark] a,
.document-summary [data-theme=dark] button {
  color: var(--pico-primary);
}
.document-summary .purpose-and-assignments {
  display: grid;
  grid-template-columns: auto auto;
}
.document-summary .purpose-and-assignments .timestamps {
  grid-column: 1/-1;
}
.document-summary .purpose-and-assignments .assignments {
  display: grid;
  grid-template-rows: auto auto auto;
  justify-content: start;
  align-items: start;
  gap: 0.25rem;
  font-size: 0.9rem;
}
.document-summary .purpose-and-assignments .assignments > header {
  grid-column: 1/-1;
  margin-bottom: 0.25rem;
  display: grid;
  gap: 0.5rem;
  grid-template-columns: 1fr auto;
}
.document-summary .purpose-and-assignments .assignments a {
  font-weight: bold;
  text-transform: uppercase;
}
.document-summary .purpose-and-assignments .assignments button.deactivate-assignment {
  padding: 0;
  margin: 0;
  font-size: 0.8rem;
  color: var(--duke-med-red-light);
}
.document-summary .purpose-and-assignments .assignments .new-assignment-frame {
  display: grid;
  grid-auto-flow: column;
  gap: 0.25rem;
  justify-content: start;
}
.document-summary .purpose-and-assignments .document-purpose header {
  grid-column: 1/-1;
}
.document-summary .purpose-and-assignments .document-purpose .sps-link a {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.document-summary .purpose-and-assignments .document-purpose .sps-sponsor {
  font-size: 0.85rem;
  margin: 0;
}
.document-summary .timestamps {
  margin-top: 0.5rem;
}
.document-summary .timestamps p,
.document-summary .timestamps span.label {
  margin: 0;
}
.document-summary .timestamps > p {
  margin-top: 0.125rem;
}
.document-summary .workspace-details > * {
  margin: 0;
}
.document-summary .workspace-details .sponsor {
  font-size: 0.85rem;
}
.document-summary .workspace-details .pi {
  font-size: 0.85rem;
}
.document-summary .process-actions .ts-dropdown-content small {
  color: var(--duke-gray);
}
.document-summary .process-actions .ts-wrapper {
  width: 100%;
}
.document-summary .process-actions small {
  color: var(--duke-med-gray-pale);
}
.document-summary .reviews {
  z-index: 9;
  bottom: 0;
}
.document-summary .reviews > details[open] > summary .icons {
  transform: rotate(180deg);
  color: var(--duke-med-sky-blue-pale);
}
.document-summary .reviews > details[open] > summary:hover .icons {
  color: var(--duke-med-yellow);
}
.document-summary .reviews > details[open] > summary:after {
  all: unset;
}
.document-summary .reviews > details > summary {
  display: grid;
  grid-template-columns: 1fr auto;
  justify-content: space-between;
  align-items: center;
}
.document-summary .reviews > details > summary .icons {
  color: var(--duke-med-sky-blue-pale);
}
.document-summary .reviews > details > summary:after {
  all: unset;
}
.document-summary .reviews.is-stuck {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.document-summary .reviews nav.review-section-nav {
  width: 100%;
  display: flex;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}
.document-summary .reviews nav.review-section-nav a:hover {
  color: var(--duke-med-yellow);
  text-decoration: none;
}
.document-summary .reviews .request-review {
  margin-left: auto;
}
.document-summary .reviews article.form_review {
  margin-top: 0.5rem;
}
.document-summary .structure {
  height: auto;
  background-color: var(--duke-navy);
  align-self: start;
  margin-bottom: auto;
}
.document-summary .structure details summary:hover {
  color: var(--duke-med-yellow);
}
.document-summary .structure .researcher-information {
  margin-top: 0.5rem;
}
.document-summary .structure div.current-effort-total {
  grid-template-columns: 5fr 3rem;
  justify-content: end;
  align-items: center;
  gap: 0.5rem;
  display: grid;
  padding: 0.5rem;
}
.document-summary .structure div.current-effort-total .label {
  color: var(--duke-gray-pale);
  padding: 0;
  font-variation-settings: "GRAD" 0, "opsz" 14, "asc" 0, "dsc" -90;
  justify-self: end;
}
.document-summary .structure div.current-effort-total .value {
  color: var(--primary-inverse);
  font-weight: bold;
  text-align: right;
}
.document-summary .structure button.document-nav-item {
  border-left: 0.375rem solid var(--duke-gray);
  border-radius: 0;
  width: 100%;
  box-sizing: border-box;
  color: var(--primary-inverse);
  text-transform: initial;
  display: grid;
  grid-template-columns: 5fr 3rem;
  gap: 0.5rem;
  justify-content: space-between;
  align-items: start;
  background-color: transparent;
  padding: 0.5rem;
}
.document-summary .structure button.document-nav-item.has-issues {
  border-left-color: var(--duke-med-yellow-dark);
}
.document-summary .structure button.document-nav-item:hover {
  background-color: rgba(255, 255, 255, 0.15);
}
.document-summary .structure button.document-nav-item:hover .project-title {
  color: var(--duke-med-yellow);
}
.document-summary .structure button.document-nav-item p {
  margin: 0;
  text-align: left;
}
.document-summary .structure button.document-nav-item .project-details {
  min-width: 0;
  display: grid;
  grid-auto-flow: row;
  gap: 0.125rem;
}
.document-summary .structure button.document-nav-item .project-effort-current {
  min-width: 0;
  text-align: right;
  justify-self: end;
  display: flex;
  justify-content: flex-end;
}
.document-summary .structure button.document-nav-item .project-title,
.document-summary .structure button.document-nav-item .researcher-name {
  font-size: 0.9rem;
  font-weight: bold;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.document-summary .structure button.document-nav-item .project-sponsor,
.document-summary .structure button.document-nav-item .researcher-position {
  font-size: 0.75rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.document-summary .structure button.document-nav-item .project-identifiers {
  font-size: 0.8rem;
}
.document-summary footer.document-summary-footer {
  margin-top: auto;
  background-color: var(--duke-gray);
  position: sticky;
  bottom: 0;
}
.document-summary section.utility {
  display: grid;
  grid-template-columns: 4fr 3fr;
  gap: 1rem;
  align-items: center;
  margin-top: auto;
  align-self: end;
  background-color: var(--duke-univ-magnolia);
}
.document-summary section.utility .release > header {
  display: grid;
  grid-template-columns: 1fr auto;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.25rem;
}
.document-summary section.utility .release > header .version {
  font-weight: 200;
  font-size: 0.9rem;
  text-transform: lowercase;
}
.document-summary section.utility .release a {
  color: var(--duke-univ-dandelion);
  font-weight: bold;
  text-transform: uppercase;
}

.review-object-nav,
.document-object-nav {
  background-color: rgb(0, 83, 155);
  margin: 0;
  padding: 0.5rem;
  font-size: 0.9rem;
  font-weight: bold;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: center;
  justify-content: flex-end;
}
.review-object-nav .icon, .review-object-nav a.sortable:after,
.document-object-nav .icon,
.document-object-nav a.sortable:after {
  font-size: 1.5rem;
}
.review-object-nav button,
.document-object-nav button {
  all: unset;
}
.review-object-nav button,
.review-object-nav a,
.document-object-nav button,
.document-object-nav a {
  margin-left: 1rem;
  cursor: pointer;
  text-decoration: none;
  color: var(--pico-primary-inverse);
}
.review-object-nav button:hover,
.review-object-nav a:hover,
.document-object-nav button:hover,
.document-object-nav a:hover {
  color: rgb(245, 200, 103);
}

.support-review .review-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border-color, #ddd);
}
.support-review .review-header .review-title {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.support-review .review-header .review-title h1 {
  margin: 0;
}
.support-review .review-details {
  margin-bottom: 2rem;
}
.support-review .review-details p {
  margin: 0.125rem 0;
}

.review-documents .documents-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
}
.review-documents .document-item {
  max-width: 400px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  border: 1px solid var(--border-color, #ddd);
  border-radius: 8px;
  background-color: var(--background-white, #fff);
}
.review-documents .document-item .document-info {
  flex: 1;
}
.review-documents .document-item .document-info .document-name {
  margin: 0 0 0.5rem 0;
  font-size: 1.125rem;
}
.review-documents .document-item .document-info .document-name a, .review-documents .document-item .document-info .document-name .review-object-nav button, .review-object-nav .review-documents .document-item .document-info .document-name button,
.review-documents .document-item .document-info .document-name .document-object-nav button,
.document-object-nav .review-documents .document-item .document-info .document-name button {
  text-decoration: none;
  color: var(--primary-color, #007bff);
}
.review-documents .document-item .document-info .document-name a:hover, .review-documents .document-item .document-info .document-name .review-object-nav button:hover, .review-object-nav .review-documents .document-item .document-info .document-name button:hover,
.review-documents .document-item .document-info .document-name .document-object-nav button:hover,
.document-object-nav .review-documents .document-item .document-info .document-name button:hover {
  text-decoration: underline;
}
.review-documents .document-item .document-info .document-meta {
  display: flex;
  gap: 1rem;
  font-size: 0.875rem;
  color: var(--text-muted, #666);
}
.review-documents .document-item .document-info .document-meta .last-modified,
.review-documents .document-item .document-info .document-meta .file-size {
  display: flex;
  align-items: center;
}
.review-documents .document-item .document-actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.review-documents .empty-state {
  text-align: center;
  padding: 3rem 1rem;
  background-color: var(--background-secondary, #f8f9fa);
  border-radius: 8px;
  border: 2px dashed var(--border-color, #ddd);
}
.review-documents .empty-state p {
  margin-bottom: 1rem;
  color: var(--text-muted, #666);
}

.reviews_list_support_document header {
  margin-bottom: 0.25rem;
}

.review-panel {
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: var(--primary-inverse);
  padding: 0.5rem 1.5rem;
  margin: auto var(--gutter-negative) 0 var(--gutter-negative);
  box-shadow: var(--box-shadow-up-heavy);
  overflow-y: visible;
}
.review-panel[open]:not([role=button]) > summary {
  border-bottom-color: var(--duke-gray);
}
.review-panel[open]:not([role=button]) > summary .panel-control {
  transform: rotate(180deg);
}
.review-panel[open]:not([role=button]) > summary:after {
  all: unset;
}
.review-panel section.carousel-step {
  display: grid;
  grid-template-columns: auto 20rem;
  column-gap: 1rem;
  align-items: center;
  justify-content: stretch;
  margin: 0;
  padding: 0;
}
.review-panel section.carousel-step.carousel-step-hidden {
  display: none;
}
.review-panel section.carousel-step header,
.review-panel section.carousel-step .overlap-section {
  grid-column: 1/-1;
}
.review-panel section.carousel-step div.final {
  grid-column: 1/-1;
  display: grid;
  align-items: end;
  border-top: var(--pico-border-width) solid var(--duke-gray);
  grid-template-columns: 2fr 1fr;
  column-gap: 1rem;
  margin-top: 1rem;
}
.review-panel section.carousel-step div.final .review-submit-instructions {
  font-size: 80%;
}
.review-panel section.carousel-step div.review-summary {
  grid-column: 1/-1;
}
.review-panel section.carousel-step header.carousel-step-header {
  display: grid;
  grid-template-columns: auto auto;
  column-gap: 1rem;
  align-items: center;
  justify-content: start;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.review-panel section.carousel-step header.carousel-step-header .order-number {
  display: inline-flex;
  width: 1.5em;
  height: 1.5em;
  font-size: 1.2rem;
  background-color: var(--duke-med-gray-pale);
  padding: 0.25rem;
  border-radius: 50%;
  font-weight: 600;
  align-items: center;
  justify-content: center;
}
.review-panel section.carousel-step header.carousel-step-header h5.section-header {
  grid-column: span 1;
}
.review-panel a[role=button],
.review-panel button {
  height: fit-content;
}
.review-panel summary {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 1rem;
}
.review-panel summary:after {
  all: unset;
}
.review-panel summary:hover .panel-control,
.review-panel summary:hover h3 {
  color: var(--duke-univ-ironweed);
}
.review-panel summary h3 {
  font-weight: 300;
}
.review-panel summary div.review-complete-by {
  text-align: left;
}
.review-panel summary div.review-complete-by .label {
  font-size: 80%;
}
.review-panel summary div.review-complete-by time {
  font-size: 90%;
}
.review-panel summary div.review-complete-by p {
  margin: 0;
}
.review-panel summary .panel-control {
  color: var(--duke-med-sky-blue);
}
.review-panel div.review-issues .navigator {
  max-width: 20rem;
}
.review-panel p.top-instructions {
  grid-column: 1/-1;
  line-height: 1.2;
}
.review-panel p.label {
  margin-bottom: 0.25rem;
}
.review-panel p.note {
  font-size: 0.85rem;
}
.review-panel p.attribution {
  margin-top: 0.5rem;
}
.review-panel div.body > div {
  display: grid;
  grid-template-columns: 2fr 1fr;
  column-gap: 1rem;
  align-items: start;
}
.review-panel div.body > div.final {
  align-items: stretch;
  padding-bottom: 1rem;
}
.review-panel div.body > div.final textarea {
  margin-bottom: 0;
}
.review-panel div.body > div.final div.submit {
  align-items: space-between;
  display: flex;
  flex-flow: column;
  height: 100%;
}
.review-panel div.body > div.final div.submit p.label {
  padding-top: 1rem;
}
.review-panel div.body > div.final div.submit input {
  margin-top: auto;
  margin-bottom: 0rem;
}
.review-panel div.body > div.final div.submit .review-submit-instructions {
  font-size: 0.8rem;
  margin-bottom: 0.5rem;
}
.review-panel div.body > div:first-of-type {
  padding-bottom: 0.5rem;
}
.review-panel div.body > div:not(:first-of-type) {
  border-top: var(--pico-border-width) solid var(--duke-gray);
  padding-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.review-panel div.body h5 {
  font-size: 1.4rem;
  font-weight: normal;
  margin-bottom: 0.25rem;
  grid-column: 1/-1;
}
.review-panel div.body h5 .order-number {
  font-weight: 300;
}
.review-panel div.inkind a[role=button], .review-panel div.inkind .review-object-nav button[role=button], .review-object-nav .review-panel div.inkind button[role=button],
.review-panel div.inkind .document-object-nav button[role=button],
.document-object-nav .review-panel div.inkind button[role=button] {
  border: var(--pico-border-width) solid var(--duke-royal);
  margin-top: 0.25rem;
}
.review-panel div.boolean-group {
  margin: 0;
  width: 100%;
}
.review-panel div.review-summary {
  display: grid;
  grid-template-columns: 3fr 1fr;
  gap: 0.5rem;
}
.review-panel div.review-summary .date-actions .due-date {
  font-size: 1.25rem;
}
.review-panel div.overlap {
  width: 100%;
}
.review-panel div.overlap .overlap-item {
  padding: 1rem;
  margin-bottom: 1rem;
  border: 1px solid var(--duke-gray);
  border-radius: var(--pico-border-radius);
  background-color: var(--pico-card-background-color);
}
.review-panel div.overlap .overlap-item .overlap-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}
.review-panel div.overlap .overlap-item .overlap-header h4 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 500;
}
.review-panel div.overlap .overlap-item .overlap-header .overlap-actions {
  display: flex;
  gap: 0.5rem;
}
.review-panel div.overlap .overlap-item .overlap-header .overlap-actions a,
.review-panel div.overlap .overlap-item .overlap-header .overlap-actions button {
  padding: 0.25rem 0.75rem;
  font-size: 0.875rem;
}
.review-panel div.overlap .overlap-item .overlap-content .overlap-projects {
  margin-bottom: 0.75rem;
}
.review-panel div.overlap .overlap-item .overlap-content .overlap-projects ul {
  margin: 0.25rem 0 0 1.5rem;
  padding: 0;
}
.review-panel div.overlap .overlap-item .overlap-content .overlap-details p {
  margin: 0.25rem 0 0 0;
}
.review-panel div.overlap .overlap-forms {
  margin-top: 1rem;
}
.review-panel p.question {
  font-weight: bold;
  margin-bottom: 0.25rem;
  line-height: 1.2;
}
.review-panel div.submit {
  width: 100%;
}
.review-panel div.boolean-group label.boolean {
  border: var(--pico-border-width) solid var(--duke-gray);
}

:root {
  --project-left-gutter: clamp(0.25rem, 10vw, 2rem);
  --project-right-gutter: clamp(0.25rem, 10vw, 2rem);
  --project-padding: 1rem;
}

.support_project,
.document-attributes_OLD {
  padding: var(--project-padding);
  border: 1px solid var(--duke-med-gray-accent);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}
.support_project input:not([type=submit]),
.support_project textarea,
.support_project select,
.document-attributes_OLD input:not([type=submit]),
.document-attributes_OLD textarea,
.document-attributes_OLD select {
  padding: 0.25rem;
  height: auto;
}
.support_project.highlighted,
.document-attributes_OLD.highlighted {
  box-shadow: var(--box-shadow-heavy);
  border-color: var(--duke-med-sky-blue);
  background-color: var(--duke-med-sky-blue-pale-x);
}
.support_project header.project-header .reference-and-controls,
.support_project header.document-header .reference-and-controls,
.document-attributes_OLD header.project-header .reference-and-controls,
.document-attributes_OLD header.document-header .reference-and-controls {
  display: flex;
  justify-content: space-between;
  padding-left: calc(4.25rem + var(--project-left-gutter));
}
.support_project header.project-header .project-reference,
.support_project header.document-header .project-reference,
.document-attributes_OLD header.project-header .project-reference,
.document-attributes_OLD header.document-header .project-reference {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.25rem;
}
.support_project header.project-header .project-meta,
.support_project header.document-header .project-meta,
.document-attributes_OLD header.project-header .project-meta,
.document-attributes_OLD header.document-header .project-meta {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
}
.support_project .project-body .attribute,
.support_project .project-body section.project-efforts,
.document-attributes_OLD .project-body .attribute,
.document-attributes_OLD .project-body section.project-efforts {
  padding-left: var(--project-left-gutter);
}
.support_project .project-attributes,
.document-attributes_OLD .project-attributes {
  display: grid;
  align-items: center;
  grid-auto-flow: row;
  grid-auto-rows: minmax(1fr, auto);
  gap: 0.5em;
  max-width: 100%;
}
.support_project .project-attributes header,
.document-attributes_OLD .project-attributes header {
  margin: -1rem -1rem 0 -1rem;
  padding: 1rem;
}
.support_project aside.project-annotations,
.document-attributes_OLD aside.project-annotations {
  margin: calc(-1 * var(--project-padding));
  margin-left: 1rem;
  position: relative;
}
.support_project aside.project-annotations .annotations-container,
.document-attributes_OLD aside.project-annotations .annotations-container {
  background-color: var(--duke-gray-pale);
  position: absolute;
  display: grid;
  grid-auto-flow: row;
  gap: 0.25rem;
  overflow-y: auto;
  overflow-x: hidden;
  max-height: 100%;
  height: 100%;
  width: 100%;
}

.project,
.document-attributes {
  border: 2px solid transparent;
}
.project.has-errors,
.document-attributes.has-errors {
  border-color: var(--danger);
}
.project.highlighted,
.document-attributes.highlighted {
  box-shadow: var(--box-shadow-heavy);
  background-color: var(--duke-med-sky-blue-pale-x);
}
.project .attribute,
.document-attributes .attribute {
  display: grid;
  grid-template-columns: 3.25rem 2fr 5fr;
  column-gap: 1rem;
  align-items: center;
  justify-content: start;
  padding: 0.25rem;
  max-width: 100%;
}
.project .attribute > *,
.document-attributes .attribute > * {
  margin: 0;
}
.project .attribute input,
.document-attributes .attribute input {
  width: 100%;
  box-sizing: border-box;
}
.project .attribute.title_project,
.document-attributes .attribute.title_project {
  grid-template-columns: 3.25rem 1fr auto;
  align-items: start;
  width: 100%;
  margin-bottom: 0.5rem;
}
.project .attribute.title_project .tag,
.document-attributes .attribute.title_project .tag {
  justify-self: end;
}
.project .attribute.title_project h5,
.document-attributes .attribute.title_project h5 {
  justify-self: stretch;
}
.project .attribute.text-area, .project .attribute.project-efforts,
.document-attributes .attribute.text-area,
.document-attributes .attribute.project-efforts {
  height: auto;
  display: grid;
  grid-template-columns: 3.25rem 1fr;
  align-items: start;
  margin-top: 0.5rem;
}
.project .attribute.text-area > div, .project .attribute.project-efforts > div,
.document-attributes .attribute.text-area > div,
.document-attributes .attribute.project-efforts > div {
  min-width: 0;
}
.project .attribute.text-area p.value,
.document-attributes .attribute.text-area p.value {
  font-size: 0.9rem;
  line-height: 1.3;
}
.project .attribute.highlighted,
.document-attributes .attribute.highlighted {
  background-color: var(--duke-med-yellow-pale);
}
.project .attribute.efforts_project,
.document-attributes .attribute.efforts_project {
  display: block;
  margin: 1rem 4rem;
}
.project .attribute span.label,
.project .attribute span.value,
.document-attributes .attribute span.label,
.document-attributes .attribute span.value {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.project .attribute .label,
.project .attribute label,
.project .attribute th,
.document-attributes .attribute .label,
.document-attributes .attribute label,
.document-attributes .attribute th {
  text-transform: none;
  color: var(--duke-med-gray-light);
}
.project .internal-field,
.document-attributes .internal-field {
  grid-template-columns: 2fr 5fr;
  margin: 0.5rem;
  border: var(--pico-border-width) solid var(--duke-med-gray-accent);
  padding: 0.5rem;
}
.project .internal-field .attribute,
.document-attributes .internal-field .attribute {
  grid-template-columns: 2fr 5fr;
}

.text-area p.label {
  margin: 0.5rem 0;
}

.document-attributes .attribute {
  display: grid;
  grid-template-columns: 1fr 3fr;
  column-gap: 1rem;
  align-items: center;
}

.project form .title-and-status-fields .attribute {
  padding: 0;
  width: 100%;
}
.project .attribute.title-and-status-fields {
  display: grid;
  grid-template-columns: 3.25rem 3fr 1fr;
  align-items: center;
  justify-content: stretch;
  gap: 1rem;
  margin-bottom: 1rem;
}
.project .attribute.title-and-status-fields input,
.project .attribute.title-and-status-fields select {
  width: 100%;
  box-sizing: border-box;
}
.project .form-controls {
  display: grid;
  justify-content: space-between;
}
.project .form-controls > * {
  width: fit-content;
}
.project footer {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: space-between;
  gap: 0.5rem;
}

.attribute.form-controls input {
  grid-column: 2/-1;
}

table.project-efforts-table {
  table-layout: fixed;
  margin: 0.5rem 0 0 0;
  width: fit-content;
}
table.project-efforts-table tr.errors-row {
  background-color: var(--error-highlight);
}
table.project-efforts-table tr.highlighted td {
  background-color: var(--duke-med-yellow-pale);
}
table.project-efforts-table td,
table.project-efforts-table th {
  padding: 3px;
  border-bottom-color: var(--duke-med-gray-accent);
}
table.project-efforts-table td.reference-data,
table.project-efforts-table th.reference-data {
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: normal;
  overflow: hidden;
  text-overflow: ellipsis;
}
table.project-efforts-table td.dates {
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  min-width: 0;
}
table.project-efforts-table td.actions {
  text-align: center;
}
table.project-efforts-table td.actions a {
  margin: 0 auto;
  text-align: center;
  color: var(--duke-med-red-dark);
}
table.project-efforts-table td.actions a svg {
  height: 1.25rem;
}
table.project-efforts-table th {
  font-weight: normal;
  vertical-align: bottom;
}
table.project-efforts-table th.reference-data {
  text-transform: none;
}
table.project-efforts-table th.annotation-indicator {
  width: 10%;
}
table.project-efforts-table th.year {
  width: 17%;
}
table.project-efforts-table th.person_months {
  width: 15%;
}
table.project-efforts-table th.total_commitment {
  width: 9%;
}
table.project-efforts-table th.projected {
  width: 9%;
}
table.project-efforts-table th.current {
  width: 9%;
}
table.project-efforts-table th.sponsor_minimum {
  width: 9%;
}
table.project-efforts-table th.minimum {
  width: 9%;
}
table.project-efforts-table th.dates {
  width: 18%;
}
table.project-efforts-table th.actions {
  width: 10%;
  font-size: 0.8rem;
  text-align: center;
}
.project-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  align-items: center;
}

.edit-mode-indicator {
  font-size: 1.2rem;
  font-style: italic;
}

.reference-data {
  background-color: var(--duke-gray-pale);
  font-size: 0.8rem;
}

.title_support_project .pill {
  margin-left: auto;
}

.inline-link-icon.sps-link {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  gap: 0.125rem;
}
.inline-link-icon.sps-link .icon, .inline-link-icon.sps-link a.sortable:after {
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  font-size: 1.2rem;
  vertical-align: middle;
}
.inline-link-icon.sps-link .icon:hover, .inline-link-icon.sps-link a.sortable:hover:after {
  text-decoration: none;
}

.project-control {
  margin-left: auto;
}
.project-control .icon, .project-control a.sortable:after {
  font-size: 2rem;
}

.inline-form {
  display: inline !important;
}

.support-document-overview {
  width: 100%;
  display: grid;
  grid-template-columns: auto auto;
  gap: var(--pico-block-spacing-vertical) var(--pico-block-spacing-horizontal);
}
.support-document-overview > header {
  grid-column: 1/-1;
  background: none;
}
.support-document-overview > header .document-state {
  margin-top: -0.5rem;
}
.support-document-overview > header .document-name {
  margin-bottom: 0;
  font-size: 1.25rem;
  font-weight: normal;
}
.support-document-overview p.label {
  width: fit-content;
}
.support-document-overview .document-stage {
  --icon-size: 1.5rem;
}
.support-document-overview .section {
  border-top: var(--pico-border-width) solid var(--pico-card-border-color);
  padding-top: var(--pico-block-spacing-vertical);
}
.support-document-overview .section.document-attachments {
  display: grid;
  align-items: start;
  grid-template-columns: 1fr 1fr;
}
.support-document-overview .section.document-attachments header {
  grid-column: 1/-1;
}
.support-document-overview .section.document-attachments a.link-like {
  padding-left: 0;
}
.support-document-overview > footer {
  grid-column: 1/-1;
}

.overlap-item.display {
  grid-template-columns: 2fr 3fr;
  display: grid;
}
.overlap-item.display footer, .overlap-item.display header {
  grid-column: 1/-1;
}
.overlap-item.display .overlap-projects {
  display: grid;
  grid-auto-flow: row;
  align-items: start;
  justify-content: start;
}
.overlap-item.display .overlap-projects a {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-decoration: none;
  font-size: 0.8rem;
  background-color: transparent;
  padding: 0;
  color: var(--duke-navy);
}
.overlap-item.display .overlap-projects a:hover {
  text-decoration: none;
}
.overlap-item.form-grid {
  grid-column: 1/-1;
  display: grid;
  column-gap: 0.5rem;
  align-items: start;
  grid-template-columns: 3fr 3fr auto;
  grid-template-rows: 1fr auto;
  grid-auto-flow: column;
  max-width: 100%;
  width: 100%;
}
.overlap-item.form-grid label {
  align-self: end;
  margin: 0;
}
.overlap-item .ts-control .item {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
}
.overlap-item .ts-control .item .item-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
  max-width: 250px;
  flex: 1 1 auto;
}
.overlap-item .ts-control .item .remove {
  flex-shrink: 0;
  margin-left: 4px;
}

.overlap-section {
  margin: var(--pico-block-spacing-vertical) 0;
}

.jit-workspace .person {
  box-shadow: var(--pico-card-box-shadow);
  background-color: var(--card-background-color);
  padding: 0.5rem;
  border-radius: var(--pico-border-radius);
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: 1rem;
}
.jit-workspace .person > header > * {
  margin: 0 0 0.125rem 0;
}
.jit-workspace .person .person-other-support {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.jit-workspace .person .person-support {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.jit-workspace .person .person-support > header {
  grid-column: 1/-1;
}
.jit-workspace .person .person-support > header h5 {
  margin: 0;
}
.jit-workspace .person .person-support .support-details {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.jit-workspace .person .person-support .support-upload {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.jit-workspace .person section.latest-support > header {
  grid-column: 1/-1;
}
.jit-workspace .person section.latest-support > header h5 {
  margin: 0;
}
details.past-reviews h6 {
  font-weight: bold;
  color: var(--duke-royal-blue);
  text-transform: uppercase;
}

details[open].past-reviews > summary {
  cursor: pointer;
  margin-bottom: 0rem;
}
details[open].past-reviews .past-review {
  padding: 0.5rem 0;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid var(--duke-med-gray-accent);
}
details[open].past-reviews .past-review header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.25rem;
}
details[open].past-reviews .past-review header h6 {
  margin: 0;
}
details[open].past-reviews .past-review .review-details {
  margin-top: 0.25rem;
}

.form_release .form-row {
  display: grid;
  grid-template-columns: 7rem 12rem 1fr auto;
  gap: 1rem;
}
.form_release input[type=submit] {
  margin-top: 1rem;
}

section.releases {
  margin-top: 2rem;
}
section.releases header {
  display: grid;
  grid-template-columns: 1fr auto;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}

details.release {
  margin-bottom: 1rem;
  border-bottom: var(--pico-border-width) solid var(--duke-med-gray-accent);
  box-shadow: var(--box-shadow-light);
  background-color: var(--primary-inverse);
  border-radius: var(--pico-border-radius);
  padding: var(--pico-block-spacing-vertical) var(--pico-block-spacing-horizontal);
}
details.release summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem;
  margin: calc(-1 * var(--pico-block-spacing-vertical)) calc(-1 * var(--pico-block-spacing-horizontal));
  cursor: pointer;
}
details.release summary:not([open]):hover {
  background-color: var(--primary-highlight);
}
details.release summary span.version {
  display: inline-block;
  margin-right: 0.5rem;
}
details.release summary .tag.pill.draft {
  background-color: var(--duke-univ-ironweed);
}
details.release summary .tag.pill.archived {
  background-color: var(--duke-med-gray-accent);
}
details.release summary a {
  justify-self: flex-end;
  margin-left: auto;
}
details.release.draft summary, details.release.archived summary {
  font-style: italic;
  opacity: 80%;
}
details.release .release-meta {
  display: grid;
  grid-template-columns: 1fr auto;
  width: auto;
  border-radius: 0.25rem;
  margin: 0.5rem 0;
  justify-content: start;
  align-items: center;
}
details.release .release-meta .release-date {
  font-size: 1.2rem;
}
details.release .release-meta .release-actions {
  display: grid;
  align-items: start;
  grid-template-columns: auto auto;
  margin-left: auto;
  gap: 1rem;
}
details.release .release-meta .release-actions a[role=button], details.release .release-meta .release-actions input[type=submit] {
  margin: 0;
  height: 100%;
  padding: 0.5rem;
  line-height: 1;
}

.form_release .lexxy-editor__content {
  height: 100%;
  min-height: 30rem;
}

time[title]:not([title=""]) {
  cursor: help;
  text-decoration: underline dotted;
}

.biosketch-index-container {
  border-bottom: 1px solid black;
}

.biosketch-content > section {
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--duke-med-gray-accent);
}

.justification .label {
  all: unset;
  display: inline-block;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 0.9rem;
  vertical-align: middle;
}

.justification-subaward > details summary:after {
  margin-left: 0.5rem;
}

.justification-person section > header > * {
  margin: 0;
}

section.justification-section > header {
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid var(--duke-med-gray-accent);
}

.review-object {
  display: grid;
  margin-top: 0;
  grid-template-columns: 3fr 0.5rem 1fr;
  /* Initial setup */
  grid-template-rows: 1fr;
  align-items: space-between;
  padding: 2rem 0 0 2rem;
  height: calc(100% - 2rem);
  box-sizing: border-box;
}
.review-object .feedback {
  padding-right: 1rem;
}
.review-object .feedback > header {
  display: grid;
  justify-content: stretch;
  grid-template-columns: auto auto;
  gap: 1rem;
}
.review-object .feedback > header hgroup h3 {
  margin-top: 0.25rem;
  font-size: 1.5rem;
}
.review-object .feedback > header .data-sources {
  border: 1px solid var(--duke-royal-blue);
  padding: var(--pico-block-spacing-horizontal);
  display: grid;
  grid-auto-flow: row;
}
.review-object .feedback > header .data-sources h3 {
  font-size: 1.2rem;
  font-weight: normal;
  text-transform: uppercase;
}
.review-object .feedback > header .data-sources a {
  text-transform: uppercase;
  font-weight: bold;
  margin-bottom: 0.25rem;
}
.review-object .panel.right {
  width: 100%;
  height: 100%;
  border-radius: 0;
  overflow-y: hidden;
  overflow-x: hidden;
  margin-top: -2rem;
  position: sticky;
  top: 0;
  max-height: 100vh;
  padding: 0;
  display: grid;
  grid-template-columns: 3rem auto;
  justify-self: end;
}
.review-object .panel.right .panel-content {
  height: 100%;
  overflow: auto;
  width: 100%;
  box-sizing: border-box;
  padding: 0;
}
.review-object .panel.right button.control {
  width: 3rem;
  display: grid;
  grid-template-columns: 3rem min-content;
  justify-content: start;
  align-items: center;
  border: none;
  overflow: auto;
  position: relative;
  border-radius: 0;
  height: 100%;
  color: var(--pico-secondary-inverse);
  background: transparent;
  font-weight: bold;
  font-size: 1rem;
  text-transform: uppercase;
  background-color: var(--duke-med-sky-blue);
  writing-mode: vertical-lr;
  margin: 0 auto;
  padding: 0;
  text-align: left;
}
.review-object .panel.right button.control:active, .review-object .panel.right button.control:focus {
  border: none;
  box-shadow: none;
}
.review-object .panel.right button.control svg {
  height: 1.5rem;
  width: 1.5rem;
  margin-top: 0.5rem;
}
.review-object .panel.right button.control .panel-button-label {
  white-space: nowrap;
}
.review-object .panel.right button.control:hover {
  color: rgb(245, 200, 103);
}
.review-object .panel.right button.control .panel-control {
  position: sticky;
  top: 0;
}
.review-object .panel.right button.control .icon, .review-object .panel.right button.control a.sortable:after {
  font-size: 1.5rem;
}
.review-object .panel.right embed {
  margin-left: 2rem;
  width: 100%;
}

.assignment-wrapper {
  display: grid;
  grid-template-columns: 4fr 1fr;
  gap: 0.5rem;
  align-items: end;
  width: 100%;
}
.assignment-wrapper * > input, .assignment-wrapper button {
  margin: 0;
}

.inactive-assignment .assignee {
  text-decoration: line-through;
}

details.review-item {
  background-color: var(--primary-inverse);
  border-radius: var(--pico-border-radius);
  box-shadow: var(--box-shadow-heavy);
  margin-bottom: 0.5rem;
  padding: 0;
}
details.review-item[open] {
  margin-bottom: 0.5rem;
}
details.review-item[open] > summary:after {
  all: unset;
}
details.review-item > summary {
  display: grid;
  grid-template-columns: 2.5rem auto 1.5rem;
  gap: 0.5rem;
  margin: 0;
  justify-content: stretch;
  align-items: center;
  padding: 0.5rem 0.5rem 0.5rem 0.5rem;
  max-width: 100%;
  box-sizing: border-box;
}
details.review-item > summary:after {
  all: unset;
}
details.review-item > summary > * {
  margin: 0;
}
details.review-item > summary .review-summary {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: space-between;
}
details.review-item > summary .review-summary > * {
  margin: 0;
}
details.review-item > summary .review-summary p.reviewer {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--duke-med-gray);
  margin-bottom: 0.05rem;
  max-width: 100%;
  min-width: 0;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
details.review-item > summary .review-summary p.due-date {
  font-size: 0.75rem;
  color: var(--text-secondary);
}
details.review-item > summary .review-summary p.due-date .label {
  font-size: 0.75rem;
  color: var(--text-secondary);
}
details.review-item > summary .review-state {
  margin: 0;
  padding: 0.5rem;
  border-radius: 50%;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--primary-inverse);
  align-self: start;
}
details.review-item > summary .review-state svg {
  width: 100%;
}
details.review-item > summary .review-state.completed {
  background-color: var(--duke-health-green);
}
details.review-item > summary .review-state.pending {
  background-color: var(--duke-med-orange);
}
details.review-item > summary .attribution {
  font-size: 0.875rem;
  color: var(--text-secondary);
}
details.review-item .review-details {
  margin: 0.5rem;
  padding-bottom: 0.5rem;
}
details.review-item .review-details > * {
  margin: var(--pico-block-spacing-vertical) 0;
  padding: var(--pico-block-spacing-vertical) 0 0 0;
}
details.review-item .review-details .label {
  color: var(--duke-gray);
  text-transform: capitalize;
  margin-top: 0.25rem;
}
details.review-item .review-details .completion {
  border-top: var(--pico-border-width) solid var(--duke-med-gray-accent);
}
details.review-item .review-details .completion .researcher-review p.attribute {
  display: grid;
  grid-auto-flow: row;
  justify-content: space-between;
}

.just-in-time article.person {
  margin: var(--block-spacing-vertical) 0;
}
.just-in-time article.person > header {
  border: none;
  border-radius: var(--pico-border-radius) 0 0 var(--pico-border-radius);
  width: auto;
  margin: calc(-1 * var(--pico-block-spacing-vertical)) var(--pico-block-spacing-vertical) calc(-1 * var(--pico-block-spacing-horizontal)) calc(-1 * var(--pico-block-spacing-horizontal));
  padding: var(--pico-block-spacing-vertical) var(--pico-block-spacing-horizontal);
  min-width: 300px;
  align-self: stretch;
  justify-self: stretch;
  justify-content: flex-start;
}
.just-in-time article.person > header h1,
.just-in-time article.person > header h2,
.just-in-time article.person > header h3,
.just-in-time article.person > header h4,
.just-in-time article.person > header h5,
.just-in-time article.person > header h6 {
  margin-bottom: 0;
}
.just-in-time article.person > header .identifiers {
  display: grid;
  grid-template-columns: auto auto auto;
  column-gap: 1rem;
}

.group {
  margin-bottom: 1rem;
}

.membership {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  margin-bottom: 0.5rem;
  background-color: var(--pico-card-background-color);
  border-radius: var(--pico-border-radius);
}
.membership .member-info {
  flex: 1;
}
.membership .member-info strong {
  display: block;
  margin-bottom: 0.25rem;
}
.membership .member-info small {
  color: var(--pico-muted-color);
}
.membership button {
  margin: 0;
  padding: 0.5rem 1rem;
}

.add-member-form {
  margin-bottom: 1.5rem;
}
.add-member-form [role=group] {
  display: flex;
  gap: 0.5rem;
}
.add-member-form [role=group] .outline.secondary {
  flex: 0 0 auto;
}

section.group {
  margin-top: 2rem;
}
section.group > header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}
section.group > header h6 {
  margin-bottom: 0;
}

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

.highlight-text {
  background-color: var(--selected-text-background);
  color: #000000;
  border-radius: var(--pico-border-radius);
}

.tooltip-success[data-tooltip] {
  --pico-tooltip-background-color: var(--duke-univ-piedmont);
  --pico-tooltip-color: var(--duke-navy);
}
.tooltip-success[data-tooltip]::after {
  opacity: 1;
  font-weight: bold;
}
.tooltip-success[data-tooltip]::before {
  opacity: 1;
}

.copy-source {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.125rem 0.25rem;
  border: none;
  margin: 0.125rem -0.25rem;
}
.copy-source[data-tooltip] {
  border: none;
}

button.copy-button {
  background: none;
  color: var(--pico-color);
  padding: 0;
  border-radius: 0;
  margin: 0.125rem;
}
button.copy-button::hover {
  color: var(--duke-univ-piedmont);
}
button.copy-button svg {
  height: 1rem;
  width: 1rem;
}

.event-wrapper:nth-child(odd) .grid-item {
  background-color: var(--duke-gray-pale);
}
.event-wrapper:last-child .grid-item {
  border-bottom: var(--border-width) solid var(--muted-border-color);
}

.grid-header {
  margin: 0 2px;
  display: grid;
  height: 75px;
  align-items: center;
  font-size: larger;
  border-radius: 0;
  border-bottom: 2px solid var(--secondary);
  box-shadow: none;
  background: white;
  padding: 8px;
  text-transform: uppercase;
  font-weight: 500;
}
.grid-header div {
  display: flex;
  justify-content: flex-start;
  padding: 0;
  margin-bottom: calc(-1rem + 2px);
  align-items: flex-end;
  gap: 0.5rem;
}
.grid-header .large {
  font-size: large;
}
.grid-header.medium {
  font-size: medium;
}
.grid-header.small {
  font-size: small;
}

.sticky-header {
  position: sticky;
  top: 0;
  z-index: 1;
}

.grid-item {
  margin: 0 2px;
  display: grid;
  border-radius: 0;
  box-shadow: none;
  padding: 8px;
}

a.sortable {
  display: flex;
  justify-content: flex-start;
  padding: 0;
  margin-bottom: calc(-1rem + 2px);
  align-items: center;
  gap: 0.5rem;
  border-bottom: 3px solid transparent;
}
a.sortable:hover {
  border-bottom-color: var(--link-hover-color);
  font-weight: 600;
}
a.sortable:after {
  content: "swap_vert";
  display: inline-block;
  font-size: 1.5rem;
  color: var(--muted-border-color);
}
a.sortable:hover:after, a.sortable.active:after {
  content: "arrow_upward";
}
a.sortable.sorted {
  font-weight: 600;
}
a.sortable.sorted:after {
  color: var(--primary);
}
a.sortable.sorted.asc:after {
  content: "arrow_upward";
}
a.sortable.sorted.asc:hover:after, a.sortable.sorted.asc.active:after {
  content: "arrow_downward";
}
a.sortable.sorted.desc:after {
  content: "arrow_downward";
}
a.sortable.sorted.desc:hover:after, a.sortable.sorted.desc.active:after {
  content: "arrow_upward";
}

/*# sourceMappingURL=/assets/application-e1f52d39.css.map */
