/* [next]/internal/font/google/instrument_sans_64bf3bc2.module.css [app-client] (css) */
@font-face {
  font-family: Instrument Sans;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/c7f47671e39f7787-s.06cvo47x4w1en.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

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

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

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

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

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

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

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

@font-face {
  font-family: Instrument Sans Fallback;
  src: local(Arial);
  ascent-override: 94.42%;
  descent-override: 24.33%;
  line-gap-override: 0.0%;
  size-adjust: 102.74%;
}

.instrument_sans_64bf3bc2-module__kMvudW__className {
  font-family: Instrument Sans, Instrument Sans Fallback;
  font-style: normal;
}

.instrument_sans_64bf3bc2-module__kMvudW__variable {
  --font-sans: "Instrument Sans", "Instrument Sans Fallback";
}

/* [next]/internal/font/google/ibm_plex_mono_e06d9437.module.css [app-client] (css) */
@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/e390973e931a41c5-s.08hd0g.321csk.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/59b15b4bcd7b1eb5-s.0x08jh8vondwt.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

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

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

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

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

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/a7afbb44bec2bb18-s.0juuwbcf7uz~t.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

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

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

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

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

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/1a69062cfe6f77f8-s.07r2ragk8ph~z.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

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

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

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

@font-face {
  font-family: IBM Plex Mono Fallback;
  src: local(Arial);
  ascent-override: 76.16%;
  descent-override: 20.43%;
  line-gap-override: 0.0%;
  size-adjust: 134.59%;
}

.ibm_plex_mono_e06d9437-module__v8ILfq__className {
  font-family: IBM Plex Mono, IBM Plex Mono Fallback;
  font-style: normal;
}

.ibm_plex_mono_e06d9437-module__v8ILfq__variable {
  --font-mono: "IBM Plex Mono", "IBM Plex Mono Fallback";
}

/* [project]/packages/ui/src/tokens.css [app-client] (css) */
:root {
  --bg: #fff;
  --bg-2: #fff;
  --fg: #101418;
  --muted: #5b6774;
  --stroke: #10141833;
  --accent: #f8b014;
  --focus: #377df7;
  --ok: #1f883d;
  --warn: #b35a00;
  --danger: #d1252f;
  --calendar-absence-base: #994654;
  --calendar-absence-fill: #f2e7e9;
  --calendar-absence-border: var(--calendar-absence-base);
  --calendar-absence-text: #7d3542;
  --calendar-day-off-base: #6659d4;
  --calendar-day-off-fill: #ebe9f9;
  --calendar-day-off-border: var(--calendar-day-off-base);
  --calendar-day-off-text: #4e43a8;
  --calendar-holiday-base: #2f91c5;
  --calendar-holiday-fill: #e4f1f7;
  --calendar-holiday-border: var(--calendar-holiday-base);
  --calendar-holiday-text: #246c91;
  --radius: 10px;
  --shadow: 0 1px 2px #10141814;
  --shadow-2: 0 8px 24px #10141829;
  --cm-grid: #1014180f;
  --cm-blob-warm: #f8b0140e;
  --cm-blob-cool: #0000;
}

/* [project]/packages/ui/src/base.css [app-client] (css) */
:root {
  --container: 1120px;
}

* {
  box-sizing: border-box;
}

html, body {
  height: 100%;
}

html {
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
  -webkit-tap-highlight-color: transparent;
}

body {
  --font-condensed: var(--font-sans);
  --cm-bg-base: var(--bg);
  --cm-grid-color: var(--cm-grid);
  --cm-blob-warm-active: var(--cm-blob-warm);
  --cm-blob-cool-active: var(--cm-blob-cool);
  background: radial-gradient(1100px 520px at 20% -20%, var(--cm-blob-warm-active), transparent 60%),
    radial-gradient(900px 520px at 100% 0%, var(--cm-blob-cool-active), transparent 58%),
    repeating-linear-gradient(0deg, var(--cm-grid-color), var(--cm-grid-color) 1px, transparent 1px, transparent 32px),
    repeating-linear-gradient(90deg, var(--cm-grid-color), var(--cm-grid-color) 1px, transparent 1px, transparent 32px),
    var(--cm-bg-base);
  color: var(--fg);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizelegibility;
  margin: 0;
  font-size: 16px;
  line-height: 1.45;
}

body[data-cm-tex="white-grid"] {
  --cm-bg-base: var(--bg-2);
  --cm-grid-color: color-mix(in srgb, var(--fg), transparent 92%);
  --cm-blob-warm-active: #0000;
  --cm-blob-cool-active: #0000;
}

body[data-cm-tex="paper-grid"] {
  --cm-bg-base: var(--bg);
  --cm-grid-color: color-mix(in srgb, var(--fg), transparent 92%);
  --cm-blob-warm-active: var(--cm-blob-warm);
  --cm-blob-cool-active: var(--cm-blob-cool);
}

body[data-cm-tex="paper"], body[data-cm-tex="white"] {
  --cm-bg-base: var(--bg-2);
  --cm-grid-color: transparent;
  --cm-blob-warm-active: #0000;
  --cm-blob-cool-active: #0000;
}

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

h1, h2, h3 {
  font-family: var(--font-sans);
  letter-spacing: -.015em;
  text-wrap: balance;
}

main {
  min-height: 100%;
}

.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 20px;
}

.content {
  max-width: var(--container);
  margin: 0 auto;
  padding: 18px 20px 40px;
}

.cmUserAvatar {
  --cm-user-avatar-size: 40px;
  --cm-user-avatar-bg: #e8eff8;
  --cm-user-avatar-fg: #42688f;
  --cm-user-avatar-stroke: #ccd9e9;
  width: var(--cm-user-avatar-size);
  height: var(--cm-user-avatar-size);
  flex: 0 0 var(--cm-user-avatar-size);
  border: 1px solid var(--cm-user-avatar-stroke);
  background: var(--cm-user-avatar-bg);
  color: var(--cm-user-avatar-fg);
  box-shadow: 0 0 0 var(--cm-user-avatar-ring-width, 0) var(--cm-user-avatar-ring-color, transparent);
  font-family: var(--font-sans);
  font-size: calc(var(--cm-user-avatar-size) * .3);
  letter-spacing: -.02em;
  -webkit-user-select: none;
  user-select: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  font-weight: 850;
  line-height: 1;
  display: inline-flex;
  position: relative;
  overflow: hidden;
}

.cmUserAvatar--compact {
  --cm-user-avatar-size: 28px;
}

.cmUserAvatar--table {
  --cm-user-avatar-size: 36px;
}

.cmUserAvatar--navigation {
  --cm-user-avatar-size: 40px;
}

.cmUserAvatar--profile {
  --cm-user-avatar-size: 72px;
}

.cmUserAvatar--palette-0 {
  --cm-user-avatar-bg: #e8eff8;
  --cm-user-avatar-fg: #42688f;
  --cm-user-avatar-stroke: #ccd9e9;
}

.cmUserAvatar--palette-1 {
  --cm-user-avatar-bg: #e8f3ea;
  --cm-user-avatar-fg: #3f7047;
  --cm-user-avatar-stroke: #cde0cf;
}

.cmUserAvatar--palette-2 {
  --cm-user-avatar-bg: #f7ece6;
  --cm-user-avatar-fg: #9c542b;
  --cm-user-avatar-stroke: #ead4c7;
}

.cmUserAvatar--palette-3 {
  --cm-user-avatar-bg: #ece8f8;
  --cm-user-avatar-fg: #675295;
  --cm-user-avatar-stroke: #d8d0ec;
}

.cmUserAvatar--palette-4 {
  --cm-user-avatar-bg: #e6f2f2;
  --cm-user-avatar-fg: #316f70;
  --cm-user-avatar-stroke: #c9dfdf;
}

.cmUserAvatar--palette-5 {
  --cm-user-avatar-bg: #f5ece8;
  --cm-user-avatar-fg: #8e4d3e;
  --cm-user-avatar-stroke: #e5d2ca;
}

.cmUserAvatarFallback {
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.cmUserAvatarImage {
  object-fit: cover;
  background: var(--cm-user-avatar-bg);
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0;
}

.card {
  background: var(--bg-2);
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.cardHeader {
  padding: 18px 18px 0;
}

.cardBody {
  padding: 18px;
}

.notificationPreferences, .notificationDeliverySettings {
  gap: 14px;
  display: grid;
}

.notificationDeliverySettingsHeader {
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  display: flex;
}

.notificationDeliverySettingsHeader h2 {
  color: var(--fg);
  margin: 0;
  font-size: 24px;
  line-height: 1.05;
}

.notificationDeliverySettingsHeader p {
  color: var(--muted);
  margin: 4px 0 0;
  font-size: 14px;
  line-height: 1.35;
}

.notificationDeliverySummary {
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  background: var(--bg-2);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
  overflow: hidden;
}

.notificationDeliverySummaryItem {
  border-right: 1px solid var(--stroke);
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-width: 0;
  min-height: 86px;
  padding: 14px;
  display: grid;
}

.notificationDeliverySummaryItem:last-child {
  border-right: 0;
}

.notificationDeliverySummaryIcon {
  background: color-mix(in srgb, var(--focus), white 91%);
  width: 40px;
  height: 40px;
  color: var(--focus);
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.notificationDeliverySummaryIcon:before {
  content: "";
  border: 2px solid;
  border-radius: 999px;
  width: 16px;
  height: 16px;
  display: block;
}

.notificationDeliverySummaryIcon-device:before {
  border-radius: 4px;
  width: 12px;
  height: 18px;
}

.notificationDeliverySummaryIcon-hours:before {
  box-shadow: inset 5px 0 #0000;
}

.notificationDeliverySummaryText {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.notificationDeliverySummaryText strong {
  color: var(--fg);
  font-size: 14px;
  font-weight: 900;
  line-height: 1.2;
}

.notificationDeliverySummaryText span, .notificationDeliverySummaryText small {
  overflow-wrap: anywhere;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}

.notificationDeliverySummaryText span {
  color: var(--fg);
  font-weight: 800;
}

.notificationPreferencesHeader {
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  display: flex;
}

.notificationPreferencesHeader h2 {
  margin: 0;
  font-size: 24px;
  line-height: 1.05;
}

.notificationPreferencesHeader p {
  color: var(--muted);
  margin: 4px 0 0;
  font-size: 14px;
}

.notificationPreferencesEmail {
  border: 1px solid var(--stroke);
  background: var(--bg);
  min-height: 32px;
  color: var(--muted);
  text-transform: uppercase;
  border-radius: 999px;
  align-items: center;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 800;
  display: inline-flex;
}

.notificationPushSetup {
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  background: var(--bg);
  gap: 0;
  min-height: 64px;
  padding: 0;
  display: grid;
  overflow: hidden;
}

.notificationPushSetup.isReady, .notificationPushSetup.isBlocked {
  border-color: var(--stroke);
}

.notificationPushCurrentDevice {
  grid-template-columns: 52px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 16px;
  padding: 22px 20px;
  display: grid;
}

.notificationPushSetupIcon {
  background: color-mix(in srgb, var(--focus), white 91%);
  width: 48px;
  height: 48px;
  color: color-mix(in srgb, var(--focus), black 12%);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.notificationPushSetupIcon svg, .notificationPushDeviceIcon svg, .notificationPushSetupStatus svg, .notificationPushDeviceLastSeenValue svg, .notificationPushDisableAction svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9px;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: none;
  width: 22px;
  height: 22px;
}

.notificationPushSetupIcon-isBlocked {
  background: color-mix(in srgb, var(--danger), white 90%);
  color: color-mix(in srgb, var(--danger), black 8%);
}

.notificationPushSetupIcon-isReady {
  background: color-mix(in srgb, var(--ok), white 90%);
  color: color-mix(in srgb, var(--ok), black 18%);
}

.notificationPushSetupIcon-devices {
  background: color-mix(in srgb, var(--muted), white 91%);
  color: var(--muted);
}

.notificationPushCurrentDeviceText {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.notificationPushCurrentDeviceText strong {
  color: var(--fg);
  font-weight: 900;
}

.notificationPushCurrentDeviceText span {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.35;
}

.notificationPushSetupStatus {
  background: color-mix(in srgb, var(--bg-2), var(--fg) 3%);
  color: var(--muted);
}

.notificationPushSetupStatus svg {
  stroke-width: 2.2px;
  width: 17px;
  height: 17px;
}

.notificationPushSetupStatus-enabled {
  background: color-mix(in srgb, var(--ok), white 91%);
  color: color-mix(in srgb, var(--ok), black 26%);
}

.notificationPushSetupStatus-checking, .notificationPushSetupStatus-ready, .notificationPushSetupStatus-registering {
  background: color-mix(in srgb, var(--focus), white 94%);
  color: color-mix(in srgb, var(--focus), black 18%);
}

.notificationPushSetupStatus-denied, .notificationPushSetupStatus-error, .notificationPushSetupStatus-unsupported, .notificationPushSetupStatus-install-required, .notificationPushSetupStatus-server-disabled {
  background: color-mix(in srgb, var(--danger), white 95%);
  color: color-mix(in srgb, var(--danger), black 14%);
}

.notificationPushSetupAction {
  white-space: nowrap;
  min-height: 44px;
}

.btn.notificationPushDisableAction {
  background: color-mix(in srgb, var(--danger), white 95%);
  min-height: 44px;
  color: color-mix(in srgb, var(--danger), black 10%);
  border-color: #0000;
  border-radius: 8px;
  gap: 7px;
  padding: 9px 13px;
  font-weight: 800;
}

.btn.notificationPushDisableAction:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--danger), white 70%);
  background: color-mix(in srgb, var(--danger), white 90%);
  color: color-mix(in srgb, var(--danger), black 18%);
}

.btn.notificationPushDisableAction:disabled {
  background: color-mix(in srgb, var(--danger), white 97%);
  color: color-mix(in srgb, var(--danger), var(--muted) 58%);
  border-color: #0000;
}

.btn.notificationPushDisableAction svg {
  stroke-width: 2px;
  width: 17px;
  height: 17px;
}

.notificationPushSetupDiagnostic {
  border: 1px solid color-mix(in srgb, var(--danger), white 58%);
  background: color-mix(in srgb, var(--danger), white 95%);
  color: color-mix(in srgb, var(--danger), black 20%);
  border-radius: 10px;
  margin: 0;
  padding: 8px 10px;
  font-size: 12px;
  line-height: 1.35;
}

.notificationPushCurrentDevice + .notificationPushSetupDiagnostic {
  margin: -4px 16px 14px;
}

.notificationPushSetupDiagnostic strong {
  color: color-mix(in srgb, var(--danger), black 28%);
  font-weight: 900;
}

.notificationPushDeviceList {
  border-top: 1px solid color-mix(in srgb, var(--stroke), white 16%);
  display: block;
}

.notificationPushDeviceListSummary {
  cursor: pointer;
  min-height: 98px;
  color: var(--fg);
  grid-template-columns: 52px minmax(0, 1fr) auto 14px;
  align-items: center;
  gap: 16px;
  padding: 20px;
  font-size: 13px;
  list-style: none;
  display: grid;
}

.notificationPushDeviceListSummaryText {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.notificationPushDeviceListSummaryText strong {
  font-size: 18px;
  line-height: 1.2;
}

.notificationPushDeviceListSummaryText small {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.35;
}

.notificationPushDeviceListSummary:focus-visible {
  box-shadow: inset 0 0 0 3px color-mix(in srgb, var(--focus), transparent 76%);
  outline: none;
}

.notificationPushDeviceListSummary::-webkit-details-marker {
  display: none;
}

.notificationPushDeviceListSummary::marker {
  content: "";
}

.notificationPushDeviceListSummary:after {
  border-right: 2px solid var(--muted);
  border-bottom: 2px solid var(--muted);
  content: "";
  width: 8px;
  height: 8px;
  margin-left: 2px;
  transition: transform .14s;
  transform: rotate(45deg);
}

.notificationPushDeviceList[open] .notificationPushDeviceListSummary:after {
  transform: rotate(225deg);
}

.notificationPushDeviceCount {
  background: color-mix(in srgb, var(--focus), white 90%);
  min-width: 34px;
  height: 34px;
  color: var(--focus);
  border-radius: 9px;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  font-weight: 900;
  display: inline-flex;
}

.notificationPushDeviceListBody {
  gap: 8px;
  padding: 0 20px 22px;
  display: grid;
}

.notificationPushDeviceList:not([open]) .notificationPushDeviceListBody {
  display: none;
}

.notificationPushDeviceEmpty {
  color: var(--muted);
  margin: 0;
  font-size: 13px;
}

.notificationPushDeviceRows {
  border: 1px solid color-mix(in srgb, var(--stroke), white 12%);
  background: var(--bg);
  border-radius: 9px;
  gap: 0;
  display: grid;
  overflow: hidden;
}

.notificationPushDeviceHeader {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), white 12%);
  background: color-mix(in srgb, var(--bg-2), var(--stroke) 4%);
  min-height: 54px;
  color: var(--muted);
  letter-spacing: 0;
  text-transform: uppercase;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, .9fr) minmax(112px, .42fr) minmax(138px, .5fr);
  align-items: center;
  gap: 18px;
  padding: 0 22px;
  font-size: 12px;
  font-weight: 800;
  display: grid;
}

.notificationPushDeviceRow {
  border-top: 1px solid color-mix(in srgb, var(--stroke), white 12%);
  background: var(--bg);
  grid-template-columns: minmax(0, 1.45fr) minmax(0, .9fr) minmax(112px, .42fr) minmax(138px, .5fr);
  align-items: center;
  gap: 18px;
  min-height: 92px;
  padding: 18px 22px;
  display: grid;
}

.notificationPushDeviceHeader + .notificationPushDeviceRow {
  border-top: 0;
}

.notificationPushDeviceText {
  grid-template-columns: 50px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  min-width: 0;
  display: grid;
}

.notificationPushDeviceIcon {
  background: color-mix(in srgb, var(--focus), white 91%);
  width: 44px;
  height: 44px;
  color: color-mix(in srgb, var(--focus), black 12%);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.notificationPushDeviceIcon svg {
  width: 24px;
  height: 24px;
}

.notificationPushDeviceName {
  min-width: 0;
  display: grid;
}

.notificationPushDeviceText strong {
  min-width: 0;
  color: var(--fg);
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-size: 15px;
  line-height: 1.2;
  display: flex;
}

.notificationPushDeviceText strong span {
  background: color-mix(in srgb, var(--focus), white 90%);
  color: var(--focus);
  border-radius: 999px;
  padding: 2px 6px;
  font-size: 11px;
  font-weight: 900;
}

.notificationPushDeviceLastSeen {
  min-width: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.35;
}

.notificationPushDeviceLastSeenValue {
  align-items: center;
  gap: 9px;
  min-width: 0;
  display: inline-flex;
}

.notificationPushDeviceLastSeenValue svg {
  width: 20px;
  height: 20px;
  color: var(--muted);
}

.notificationPushDeviceMobileLabel {
  display: none;
}

.notificationPushDeviceStatus {
  justify-content: flex-start;
  min-width: 0;
  display: flex;
}

.notificationPushDeviceState {
  background: color-mix(in srgb, var(--ok), white 91%);
  color: color-mix(in srgb, var(--ok), black 26%);
}

.notificationPushDeviceState.isDisabled {
  background: color-mix(in srgb, var(--danger), white 95%);
  color: color-mix(in srgb, var(--danger), black 14%);
}

.notificationPushDeviceStateDot {
  background: currentColor;
  border-radius: 999px;
  width: 7px;
  height: 7px;
}

.notificationPushDeviceActions {
  justify-content: flex-start;
  min-width: 0;
  display: flex;
}

.notificationPushDeviceNoAction {
  min-height: 1px;
}

.notificationPushDeviceText > span {
  color: var(--muted);
  font-size: 12px;
}

.btn.notificationPushDisableActionCompact {
  min-width: 96px;
  padding: 8px 11px;
  font-size: 13px;
  line-height: 1.1;
}

.notificationPreferencesList {
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  display: grid;
  overflow: hidden;
}

.notificationPreferencesWindow {
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  background: var(--bg-2);
  gap: 14px;
  padding: 14px;
  display: grid;
}

.notificationPreferences_embedded .notificationPreferencesWindow {
  order: 2;
}

.notificationPreferences_embedded .notificationPreferencesList {
  order: 1;
}

.notificationPreferences_embedded .notificationPreferencesActions {
  order: 3;
}

.notificationPreferencesWindowHeader {
  cursor: pointer;
  grid-template-columns: minmax(0, 1fr) auto 14px;
  align-items: start;
  gap: 12px;
  min-height: 54px;
  list-style: none;
  display: grid;
}

.notificationPreferencesWindowHeader::-webkit-details-marker {
  display: none;
}

.notificationPreferencesWindowHeader::marker {
  content: "";
}

.notificationPreferencesWindowHeader:after {
  border-right: 2px solid var(--muted);
  border-bottom: 2px solid var(--muted);
  content: "";
  width: 8px;
  height: 8px;
  margin-top: 9px;
  transition: transform .14s;
  transform: rotate(45deg);
}

.notificationPreferencesWindow[open] .notificationPreferencesWindowHeader:after {
  transform: rotate(225deg);
}

.notificationPreferencesWindowHeader h3 {
  color: var(--fg);
  margin: 0;
  font-size: 15px;
  line-height: 1.2;
}

.notificationPreferencesWindowHeader p {
  color: var(--muted);
  margin: 4px 0 0;
  font-size: 13px;
  line-height: 1.35;
}

.notificationPreferencesWindowBadge {
  background: color-mix(in srgb, var(--focus), white 92%);
  color: var(--focus);
}

.notificationPreferencesWindowBody {
  gap: 12px;
  display: grid;
}

.notificationPreferencesWindowMode {
  border: 1px solid var(--stroke);
  background: var(--bg);
  border-radius: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  padding: 4px;
  display: grid;
}

.notificationPreferencesWindowModeButton {
  min-width: 0;
  min-height: 44px;
  color: var(--muted);
  font: inherit;
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 9px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 900;
}

.notificationPreferencesWindowModeButton.isSelected {
  border-color: color-mix(in srgb, var(--focus), white 58%);
  background: color-mix(in srgb, var(--focus), white 91%);
  color: var(--focus);
}

.notificationPreferencesWindowSummary {
  border: 1px solid color-mix(in srgb, var(--stroke), white 12%);
  background: var(--bg);
  border-radius: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
  overflow: hidden;
}

.notificationPreferencesWindowSummaryItem {
  border-right: 1px solid var(--stroke);
  min-width: 0;
  color: var(--fg);
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.25;
  display: grid;
}

.notificationPreferencesWindowSummaryItem:last-child {
  border-right: 0;
}

.notificationPreferencesWindowSummaryIcon {
  background: color-mix(in srgb, var(--focus), white 93%);
  width: 28px;
  height: 28px;
  color: var(--muted);
  border-radius: 9px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.notificationPreferencesWindowSummaryIcon svg {
  stroke-width: 2px;
  width: 15px;
  height: 15px;
}

.notificationPreferencesWindowSummaryText {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.notificationPreferencesWindowSummaryText strong {
  overflow-wrap: anywhere;
  color: var(--muted);
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
}

.notificationPreferencesWindowSummaryText b {
  overflow-wrap: anywhere;
  min-width: 0;
  color: var(--fg);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
}

.notificationPreferencesWindowInheritedNote {
  border: 1px solid color-mix(in srgb, var(--focus), white 78%);
  background: color-mix(in srgb, var(--focus), white 96%);
  min-height: 44px;
  color: color-mix(in srgb, var(--focus), var(--fg) 28%);
  border-radius: 10px;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.3;
  display: grid;
}

.notificationPreferencesWindowInheritedNote svg {
  stroke-width: 2.2px;
  width: 16px;
  height: 16px;
}

.notificationPreferencesWindowPreview {
  border: 1px solid color-mix(in srgb, var(--stroke), white 10%);
  background: var(--bg);
  border-radius: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
  overflow: hidden;
}

.notificationPreferencesWindowPreviewItem {
  border-right: 1px solid var(--stroke);
  gap: 3px;
  min-width: 0;
  padding: 11px 12px;
  display: grid;
}

.notificationPreferencesWindowPreviewItem:nth-child(3) {
  border-right: 0;
}

.notificationPreferencesWindowPreviewItem strong {
  overflow-wrap: anywhere;
  color: var(--muted);
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
}

.notificationPreferencesWindowPreviewItem b {
  overflow-wrap: anywhere;
  min-width: 0;
  color: var(--fg);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
}

.notificationPreferencesWindowPreviewWeekend {
  border-top: 1px solid var(--stroke);
  background: color-mix(in srgb, var(--bg), var(--focus) 3%);
  border-right: 0;
  grid-column: 1 / -1;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-height: 44px;
}

.notificationPreferencesWindowPreviewWeekend svg {
  width: 16px;
  height: 16px;
  color: var(--muted);
  stroke-width: 2px;
}

.notificationPreferencesWindowPreviewWeekend span {
  gap: 2px;
  min-width: 0;
  display: grid;
}

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

.notificationPreferencesWindowField {
  color: var(--muted);
  text-transform: uppercase;
  gap: 6px;
  font-size: 12px;
  font-weight: 900;
  display: grid;
}

.notificationPreferencesWindowField input, .notificationPreferencesWindowField select {
  border: 1px solid var(--stroke);
  background: var(--bg);
  width: 100%;
  min-height: 44px;
  color: var(--fg);
  font: inherit;
  text-transform: none;
  border-radius: 10px;
  font-size: 14px;
}

.notificationPreferencesWindowField_customTimezone {
  grid-column: span 2;
}

.notificationPreferencesPolicyToggles {
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  display: grid;
}

.notificationPreferencesPolicyToggle {
  border: 1px solid color-mix(in srgb, var(--stroke), white 12%);
  background: var(--bg);
  min-height: 48px;
  color: var(--fg);
  border-radius: 10px;
  grid-column: 1 / -1;
  grid-template-columns: 50px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 10px;
  font-size: 13px;
  font-weight: 800;
  display: grid;
  position: relative;
}

.notificationPreferencesPolicyToggles .notificationPreferencesPolicyToggle {
  grid-column: auto;
}

.notificationPreferencesPolicyToggleText {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.notificationPreferencesPolicyToggleText span {
  color: var(--fg);
  font-weight: 900;
}

.notificationPreferencesPolicyToggleText small {
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.3;
}

.notificationPreferenceRow {
  background: var(--bg-2);
  border-bottom: 1px solid var(--stroke);
  grid-template-columns: 46px minmax(194px, 1fr) minmax(300px, 360px);
  align-items: center;
  gap: 16px;
  min-height: 72px;
  padding: 12px 14px;
  display: grid;
}

.notificationPreferenceRow:last-child {
  border-bottom: 0;
}

.notificationPreferenceIcon {
  background: color-mix(in srgb, var(--focus), white 93%);
  width: 36px;
  height: 36px;
  color: color-mix(in srgb, var(--muted), var(--focus) 28%);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.notificationPreferenceIcon svg {
  stroke-width: 1.9px;
  width: 18px;
  height: 18px;
}

.notificationPreferences[data-surface="admin"] .notificationPreferenceIcon {
  background: color-mix(in srgb, var(--focus), white 92%);
  width: 40px;
  height: 40px;
  color: color-mix(in srgb, var(--muted), var(--focus) 34%);
}

.notificationPreferences[data-surface="admin"] .notificationPreferenceIcon svg {
  width: 20px;
  height: 20px;
}

.notificationPreferenceText {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.notificationPreferenceTitle {
  color: var(--fg);
  font-weight: 900;
}

.notificationPreferenceDescription {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.notificationPreferenceChannelHeader {
  border-bottom: 1px solid var(--stroke);
  background: var(--bg);
  grid-template-columns: 46px minmax(194px, 1fr) minmax(300px, 360px);
  align-items: end;
  gap: 16px;
  min-height: 44px;
  padding: 8px 14px;
  display: grid;
}

.notificationPreferenceChannelHeaderSpacer {
  grid-column: 1 / 3;
}

.notificationPreferenceChannelLabels {
  grid-column: 3;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  display: grid;
}

.notificationPreferenceChannelLabel {
  min-width: 0;
  color: var(--muted);
  gap: 2px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.2;
  display: grid;
}

.notificationPreferenceChannelNote {
  overflow-wrap: anywhere;
  color: var(--danger);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
}

.notificationPreferenceControls {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: grid;
}

.notificationPreferenceControl {
  min-width: 0;
  min-height: 48px;
  color: var(--muted);
  cursor: pointer;
  text-transform: none;
  grid-template-columns: 50px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 4px 0;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  display: inline-grid;
  position: relative;
}

.notificationPreferenceSwitch {
  clip: rect(0 0 0 0);
  white-space: nowrap;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  position: absolute;
  overflow: hidden;
}

.notificationPreferenceSwitchTrack {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--muted) 18%);
  background: color-mix(in srgb, var(--bg), var(--stroke) 28%);
  border-radius: 999px;
  width: 48px;
  height: 30px;
  transition: background-color .14s, border-color .14s;
  position: relative;
}

.notificationPreferenceSwitchTrack:after {
  background: var(--bg);
  content: "";
  border-radius: 999px;
  width: 22px;
  height: 22px;
  transition: transform .14s;
  position: absolute;
  top: 3px;
  left: 3px;
  box-shadow: 0 1px 3px #00000038;
}

.notificationPreferenceSwitch:checked + .notificationPreferenceSwitchTrack {
  border-color: color-mix(in srgb, var(--focus), black 8%);
  background: var(--focus);
}

.notificationPreferenceSwitch:checked + .notificationPreferenceSwitchTrack:after {
  transform: translateX(18px);
}

.notificationPreferenceSwitch:focus-visible + .notificationPreferenceSwitchTrack {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 15%);
  outline-offset: 3px;
}

.notificationPreferenceControlText {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.notificationPreferenceControlLabel {
  overflow-wrap: anywhere;
  color: var(--muted);
  display: none;
}

.notificationPreferenceState {
  overflow-wrap: anywhere;
  color: var(--fg);
  font-weight: 900;
}

.notificationPreferencesActions {
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  display: flex;
}

.notificationPreferencesSaveState {
  min-height: 24px;
  color: var(--ok);
  margin-right: auto;
  font-size: 13px;
  font-weight: 800;
}

.notificationPreferencesSaveState.isError {
  color: var(--danger);
}

.btn.notificationPreferencesReset, .btn.notificationPreferencesSave {
  border-radius: 8px;
  min-height: 44px;
  padding: 9px 16px;
  font-weight: 800;
}

.btn.notificationPreferencesReset {
  background: var(--bg);
  color: var(--fg);
  border-color: color-mix(in srgb, var(--stroke), var(--fg) 10%);
}

.btn.notificationPreferencesReset:hover:not(:disabled) {
  background: color-mix(in srgb, var(--bg), var(--focus) 4%);
  border-color: color-mix(in srgb, var(--focus), var(--stroke) 38%);
  color: var(--fg);
}

.btn.notificationPreferencesReset:disabled {
  background: var(--bg);
  border-color: color-mix(in srgb, var(--stroke), white 18%);
  color: var(--muted);
}

.btn.notificationPreferencesSave {
  min-width: 92px;
}

.notificationRow {
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--stroke), white 12%);
  width: 100%;
  min-width: 0;
  color: var(--fg);
  text-align: left;
  cursor: pointer;
  background: #fff;
  border-radius: 0;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  display: grid;
}

.notificationRow:first-child {
  border-top: 0;
}

.notificationRow_popup {
  min-height: 86px;
  padding: 12px 16px;
}

.notificationRow_center {
  min-height: 104px;
  padding: 16px 18px;
}

.notificationRow:disabled {
  cursor: default;
  opacity: .78;
}

.notificationRow:not(:disabled):hover {
  background: color-mix(in srgb, var(--focus), white 97%);
}

.notificationRow:focus-visible, .notificationCenterScopeTab:focus-visible, .notificationCenterFilterPanel summary:focus-visible, .notificationCenterFilterField select:focus-visible, .notificationCenterLoadMore:focus-visible, .notificationPreferencesWindowHeader:focus-visible, .notificationPreferencesWindowModeButton:focus-visible, .notificationPreferencesWindowField input:focus-visible, .notificationPreferencesWindowField select:focus-visible, .notificationPreferencesDisclosure > summary:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus), transparent 76%);
  outline: none;
}

.notificationRow_unread .notificationRowTitle {
  font-weight: 850;
}

.notificationRow_read .notificationRowTitle, .notificationRow_read .notificationRowBody, .notificationRow_read .notificationRowKicker, .notificationRow_read .notificationRowTime {
  color: color-mix(in srgb, var(--muted), var(--fg) 12%);
}

.notificationRow_tone_red {
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--danger), white 10%);
}

.notificationRow_tone_amber {
  box-shadow: inset 3px 0 #f59e0b;
}

.notificationRowIcon {
  background: color-mix(in srgb, var(--focus), white 93%);
  width: 42px;
  height: 42px;
  color: var(--focus);
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.notificationRowIcon svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.85px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 23px;
  height: 23px;
}

.notificationRow_tone_red .notificationRowIcon {
  background: color-mix(in srgb, var(--danger), white 92%);
  color: var(--danger);
}

.notificationRow_tone_amber .notificationRowIcon {
  color: #d97706;
  background: #fef6e9;
}

.notificationRow_tone_green .notificationRowIcon {
  background: color-mix(in srgb, var(--ok), white 91%);
  color: var(--ok);
}

.notificationRow_tone_gray .notificationRowIcon {
  background: color-mix(in srgb, var(--muted), white 91%);
  color: var(--muted);
}

.notificationRowText {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.notificationRowMeta {
  min-width: 0;
  color: var(--muted);
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  line-height: 1.2;
  display: grid;
}

.notificationRowKicker {
  min-width: 0;
  color: inherit;
  flex-wrap: wrap;
  gap: 0 6px;
  font-weight: 700;
  display: inline-flex;
}

.notificationRow_intent_critical .notificationRowKicker {
  color: var(--danger);
}

.notificationRow_intent_alert .notificationRowKicker {
  color: #d97706;
}

.notificationRowTime {
  color: var(--muted);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  font-size: 12px;
}

.notificationRowUnreadDot {
  background: var(--focus);
  width: 8px;
  height: 8px;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus), transparent 86%);
  border-radius: 999px;
}

.notificationRow_intent_critical .notificationRowUnreadDot {
  background: var(--danger);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--danger), transparent 86%);
}

.notificationRowTitle, .notificationRowBody {
  overflow-wrap: anywhere;
  min-width: 0;
}

.notificationRowTitle {
  font-size: 15px;
  font-weight: 750;
  line-height: 1.25;
}

.notificationRowBody {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.notificationCenterScopeTabs {
  border: 1px solid var(--stroke);
  background: #fff;
  border-radius: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  display: grid;
  overflow: hidden;
}

.notificationCenterScopeTab {
  border: 0;
  border-right: 1px solid var(--stroke);
  min-width: 0;
  min-height: 52px;
  color: var(--muted);
  font: inherit;
  cursor: pointer;
  background: none;
  justify-content: center;
  align-items: center;
  gap: 7px;
  padding: 0 10px;
  font-weight: 750;
  display: inline-flex;
}

.notificationCenterScopeTab:last-child {
  border-right: 0;
}

.notificationCenterScopeTab.isActive {
  color: var(--focus);
  box-shadow: inset 0 -2px 0 var(--focus);
}

.notificationCenterScopeTabLabel, .notificationCenterScopeTabCount {
  min-width: 0;
}

.notificationCenterScopeTabLabel {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.notificationCenterScopeTabCount {
  background: color-mix(in srgb, currentColor, transparent 90%);
  font-variant-numeric: tabular-nums;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-width: 22px;
  min-height: 22px;
  padding: 0 7px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  display: inline-flex;
}

.notificationCenterToolbar {
  flex-wrap: wrap;
  align-items: start;
  gap: 10px;
  display: flex;
}

.notificationCenterFilterPanel {
  min-width: 0;
}

.notificationCenterFilterPanel summary {
  border: 1px solid color-mix(in srgb, var(--focus), white 64%);
  width: fit-content;
  min-height: 44px;
  color: var(--focus);
  cursor: pointer;
  background: #fff;
  border-radius: 10px;
  align-items: center;
  gap: 8px;
  padding: 9px 13px;
  font-weight: 800;
  list-style: none;
  display: inline-flex;
}

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

.notificationCenterFilterControls {
  grid-template-columns: minmax(150px, 220px) minmax(140px, 200px);
  gap: 10px;
  margin-top: 10px;
  display: grid;
}

.notificationCenterFilterField {
  min-width: 0;
  color: var(--muted);
  text-transform: uppercase;
  gap: 5px;
  font-size: 11px;
  font-weight: 850;
  display: grid;
}

.notificationCenterFilterField select {
  border: 1px solid var(--stroke);
  min-width: 0;
  min-height: 44px;
  color: var(--fg);
  font-family: var(--font-sans);
  text-transform: none;
  background: #fff;
  border-radius: 10px;
  padding: 8px 10px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
}

.notificationCenterList {
  border: 1px solid var(--stroke);
  background: #fff;
  border-radius: 10px;
  display: grid;
  overflow: hidden;
}

.notificationCenterError, .notificationCenterEmpty {
  border: 1px solid var(--stroke);
  color: var(--muted);
  border-radius: 10px;
  padding: 16px;
}

.notificationCenterError {
  border-color: color-mix(in srgb, var(--danger), white 62%);
  color: var(--danger);
}

.notificationCenterLoadMoreRow {
  justify-content: center;
  display: flex;
}

.notificationCenterLoadMore {
  min-width: min(100%, 360px);
  min-height: 44px;
}

.notificationCenterMarkAll {
  min-height: 44px;
}

.notificationPreferencesDisclosure {
  border: 1px solid var(--stroke);
  box-shadow: var(--shadow);
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
}

.notificationPreferencesDisclosure > summary {
  cursor: pointer;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 72px;
  padding: 12px 16px;
  list-style: none;
  display: grid;
}

.notificationPreferencesDisclosure > summary::-webkit-details-marker {
  display: none;
}

.notificationPreferencesDisclosure > summary:after {
  content: "⌄";
  color: var(--fg);
  font-size: 24px;
  line-height: 1;
}

.notificationPreferencesDisclosure[open] > summary:after {
  transform: rotate(180deg);
}

.notificationPreferencesDisclosureIcon {
  background: color-mix(in srgb, var(--focus), white 92%);
  width: 42px;
  height: 42px;
  color: var(--focus);
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.notificationPreferencesDisclosureIcon svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 22px;
  height: 22px;
}

.notificationPreferencesDisclosure > summary > span:nth-child(2) {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.notificationPreferencesDisclosure > summary strong {
  color: var(--fg);
  font-size: 15px;
}

.notificationPreferencesDisclosure > summary span span {
  color: var(--muted);
}

.notificationPreferencesDisclosureBody {
  gap: 16px;
  padding: 0 16px 16px;
  display: grid;
}

@media (max-width: 720px) {
  .notificationCenterFilterField select, .notificationPreferencesWindowField input, .notificationPreferencesWindowField select {
    font-size: 16px;
  }

  .notificationCenterScopeTabs {
    border-radius: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .notificationDeliverySettingsHeader, .notificationPreferencesHeader, .notificationPreferencesActions {
    grid-template-columns: minmax(0, 1fr);
  }

  .notificationPreferencesHeader, .notificationPreferencesWindowHeader, .notificationPreferencesActions {
    display: grid;
  }

  .notificationPreferencesWindowHeader, .notificationPreferencesWindowSummary, .notificationPreferencesWindowControls, .notificationPreferencesWindowPreview {
    grid-template-columns: minmax(0, 1fr);
  }

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

  .notificationPreferencesWindowBadge {
    width: fit-content;
  }

  .notificationPreferencesWindowSummaryItem {
    border-right: 0;
    border-bottom: 1px solid var(--stroke);
  }

  .notificationPreferencesWindowSummaryItem:last-child {
    border-bottom: 0;
  }

  .notificationPreferencesWindowPreviewItem, .notificationPreferencesWindowPreviewItem:nth-child(3) {
    border-right: 0;
    border-bottom: 1px solid var(--stroke);
  }

  .notificationPreferencesWindowPreviewWeekend {
    border-top: 0;
    border-bottom: 0;
    grid-column: auto;
  }

  .notificationPreferencesWindowField_customTimezone, .notificationPreferencesPolicyToggle, .notificationPreferencesPolicyToggles {
    grid-column: auto;
  }

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

  .notificationDeliverySummaryItem {
    border-right: 0;
    border-bottom: 1px solid var(--stroke);
    min-height: 72px;
  }

  .notificationDeliverySummaryItem:last-child {
    border-bottom: 0;
  }

  .notificationPreferencesEmail, .notificationPushSetupAction, .notificationPushDisableAction, .notificationPreferencesReset, .notificationPreferencesSave {
    justify-content: center;
    width: 100%;
  }

  .btn.notificationPushDisableActionCompact {
    padding: 8px 10px;
  }

  .notificationPushDeviceHeader {
    display: none;
  }

  .notificationPushCurrentDevice {
    grid-template-columns: 44px minmax(0, 1fr);
    align-items: center;
    gap: 10px 12px;
    padding: 16px 12px;
  }

  .notificationPushSetupIcon {
    width: 42px;
    height: 42px;
  }

  .notificationPushSetupIcon svg {
    width: 21px;
    height: 21px;
  }

  .notificationPushSetupStatus, .notificationPushSetupAction {
    grid-column: 1 / -1;
    justify-self: stretch;
  }

  .notificationPushDeviceListSummary {
    grid-template-columns: 44px minmax(0, 1fr) auto 12px;
    gap: 10px;
    min-height: 88px;
    padding: 16px 12px;
  }

  .notificationPushDeviceListSummaryText strong {
    font-size: 16px;
  }

  .notificationPushDeviceListSummaryText small {
    font-size: 13px;
  }

  .notificationPushDeviceCount {
    min-width: 32px;
    height: 32px;
  }

  .notificationPushDeviceListBody {
    padding: 0 12px 12px;
  }

  .notificationPushDeviceRows {
    background: none;
    border: 0;
    border-radius: 0;
    gap: 8px;
    overflow: visible;
  }

  .notificationPushDeviceRow {
    border: 1px solid color-mix(in srgb, var(--stroke), white 12%);
    border-radius: 10px;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 12px;
  }

  .notificationPushDeviceHeader + .notificationPushDeviceRow, .notificationPushDeviceRow {
    border-top: 1px solid color-mix(in srgb, var(--stroke), white 12%);
  }

  .notificationPushDeviceLastSeen {
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    display: flex;
  }

  .notificationPushDeviceLastSeenValue {
    text-align: right;
    justify-content: flex-end;
    min-width: 0;
  }

  .notificationPushDeviceMobileLabel {
    color: var(--muted);
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 900;
    display: inline;
  }

  .notificationPushDeviceActions {
    width: 100%;
  }

  .notificationPushDeviceStatus {
    justify-content: flex-start;
  }

  .notificationPushDeviceNoAction {
    display: none;
  }

  .notificationPreferenceControls {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    display: grid;
  }

  .notificationPreferenceChannelHeader, .notificationPreferenceRow {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 10px;
  }

  .notificationPreferenceChannelHeaderSpacer {
    display: none;
  }

  .notificationPreferenceChannelLabels, .notificationPreferenceControls {
    grid-column: 1 / -1;
  }

  .notificationPreferenceIcon, .notificationPreferences[data-surface="admin"] .notificationPreferenceIcon {
    width: 36px;
    height: 36px;
  }

  .notificationPreferenceIcon svg, .notificationPreferences[data-surface="admin"] .notificationPreferenceIcon svg {
    width: 18px;
    height: 18px;
  }

  .notificationPreferenceControl {
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    width: 100%;
  }

  .notificationPreferenceControlLabel {
    display: none;
  }

  .notificationRow {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
  }

  .notificationRow_popup {
    min-height: 82px;
    padding: 12px 14px;
  }

  .notificationRow_center {
    min-height: 96px;
    padding: 14px;
  }

  .notificationRowIcon {
    width: 40px;
    height: 40px;
  }

  .notificationRowMeta {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 8px;
    font-size: 12px;
  }

  .notificationRowTitle {
    font-size: 14px;
  }

  .notificationCenterToolbar, .notificationCenterFilterControls {
    grid-template-columns: minmax(0, 1fr);
    display: grid;
  }

  .notificationCenterMarkAll, .notificationCenterFilterPanel summary, .notificationCenterLoadMore {
    justify-content: center;
    width: 100%;
  }

  .notificationCenterScopeTab {
    border-right: 1px solid var(--stroke);
    border-bottom: 1px solid var(--stroke);
    min-height: 50px;
    padding: 8px 10px;
    font-size: 14px;
    line-height: 1.15;
  }

  .notificationCenterScopeTab:nth-child(2n) {
    border-right: 0;
  }

  .notificationCenterScopeTab:nth-last-child(-n+2) {
    border-bottom: 0;
  }

  .notificationCenterScopeTabLabel {
    white-space: normal;
  }

  .notificationCenterScopeTabCount {
    min-width: 20px;
    min-height: 20px;
    padding: 0 6px;
    font-size: 11px;
  }

  .notificationPreferencesDisclosure > summary {
    grid-template-columns: 44px minmax(0, 1fr) auto;
    padding: 12px;
  }
}

.muted {
  color: var(--muted);
}

.mono {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
}

.calendarCell {
  text-align: left;
  width: 100%;
  color: inherit;
  font: inherit;
  appearance: none;
  background: none;
  border: 0;
  padding: 0;
  display: block;
}

.calendarCell:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 15%);
  outline-offset: 2px;
}

.timesheetCellHint {
  letter-spacing: .04em;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.15;
}

.timesheetCellContent {
  grid-template-rows: auto 1fr;
  gap: 8px;
  min-height: 72px;
  padding: 10px;
  display: grid;
}

.timesheetCellContentLocked {
  position: relative;
}

.timesheetCellContentLocked .timesheetCellHeader {
  padding-right: 16px;
}

.timesheetCellHeader {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: flex-start;
  column-gap: 4px;
  display: grid;
  overflow: hidden;
}

.timesheetCellDayNum {
  font-family: var(--font-mono);
  font-size: 13px;
  line-height: 1;
}

.timesheetCellHours {
  white-space: nowrap;
  text-align: right;
  font-size: 12px;
  line-height: 1;
}

.timesheetCellHintSpacer {
  height: 12px;
}

.timesheetCalendarDayLink {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  touch-action: manipulation;
}

.timesheetCellSelectMark {
  border-radius: 2px;
  place-items: center;
  width: 16px;
  height: 16px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  display: grid;
  position: absolute;
  bottom: 8px;
  right: 8px;
}

.timesheetCellLock {
  width: 14px;
  height: 14px;
  color: color-mix(in srgb, var(--muted), var(--fg) 16%);
  pointer-events: none;
  display: block;
  position: absolute;
  top: 8px;
  right: 8px;
}

.timesheetCellLock svg {
  width: 100%;
  height: 100%;
  display: block;
}

.timesheetCellHint, .timesheetCellHintSpacer {
  align-self: end;
}

.timesheetDayPlaceholder {
  height: 72px;
}

.timesheetCellHoursCompact, .timesheetCellHintShort {
  display: none;
}

.timesheetCellHintFull {
  display: inline;
}

.timesheetMonthGridWrap {
  padding-bottom: 2px;
  overflow: auto hidden;
}

.timesheetMonthGrid {
  min-width: 700px;
}

.timesheetCalendarTopBar {
  justify-content: stretch;
  align-items: center;
  width: 100%;
  min-height: 44px;
  display: flex;
}

.timesheetMonthNav {
  grid-template-columns: 56px minmax(0, 1fr) 56px;
  align-items: stretch;
  gap: 8px;
  width: 100%;
  display: grid;
}

.timesheetMonthNavCenter {
  justify-content: center;
  min-width: 0;
  display: flex;
  position: relative;
}

.timesheetMonthNavBtn {
  color: color-mix(in srgb, var(--fg), black 6%);
  justify-content: center;
  place-self: center;
  align-items: center;
  transition: background-color .15s, color .15s, opacity .15s;
  background: none !important;
  border: 0 !important;
  border-radius: 999px !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  display: inline-flex !important;
}

.timesheetMonthNavChevron {
  border-bottom: 2px solid;
  border-right: 2px solid;
  width: 10px;
  height: 10px;
  display: block;
}

.timesheetMonthNavChevron.isPrev {
  transform: rotate(135deg);
}

.timesheetMonthNavChevron.isNext {
  transform: rotate(-45deg);
}

.timesheetMonthNavDoubleChevron {
  justify-content: center;
  align-items: center;
  width: 18px;
  height: 14px;
  display: inline-flex;
}

.timesheetMonthNavDoubleChevron .timesheetMonthNavChevron {
  width: 8px;
  height: 8px;
}

.timesheetMonthNavDoubleChevron .timesheetMonthNavChevron + .timesheetMonthNavChevron {
  margin-left: -2px;
}

.timesheetMonthNavBtn:hover:not(:disabled) {
  background: color-mix(in srgb, var(--fg), transparent 91%) !important;
}

.timesheetMonthNavBtn:focus-visible, .timesheetMonthNavTrigger:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 1px;
}

.timesheetMonthNavBtn:disabled {
  opacity: .34;
}

.timesheetMonthNavTrigger {
  width: fit-content;
  min-width: 0;
  max-width: min(100%, 280px);
  min-height: 44px;
  color: var(--fg);
  font: inherit;
  letter-spacing: .01em;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin: 0 auto;
  padding: 0 10px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  transition: color .15s, background-color .15s;
  display: inline-flex;
}

.timesheetMonthNavTrigger:hover {
  background: color-mix(in srgb, var(--fg), transparent 96%);
}

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

.timesheetMonthNavLabelChevron {
  border-bottom: 2px solid;
  border-right: 2px solid;
  flex: 0 0 9px;
  width: 9px;
  height: 9px;
  display: block;
  transform: rotate(45deg)translateY(-1px);
}

.timesheetMonthPickerPopover {
  z-index: 1200;
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 3%);
  background: var(--bg);
  width: min(316px, 100vw - 32px);
  box-shadow: 0 20px 42px color-mix(in srgb, var(--fg), transparent 88%);
  border-radius: 12px;
  gap: 10px;
  padding: 12px 12px 10px;
  display: grid;
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
}

.timesheetMonthPickerSheetBackdrop {
  z-index: 2400;
  background: color-mix(in srgb, var(--fg), transparent 58%);
  align-items: end;
  padding: 0;
  display: grid;
  position: fixed;
  inset: 0;
}

.timesheetMonthPickerSheetCard {
  width: min(520px, 100%);
  max-height: min(560px, 100dvh - 18px);
  box-shadow: 0 -12px 34px color-mix(in srgb, var(--fg), transparent 86%);
  border-radius: 16px 16px 0 0;
  margin: 0 auto;
  overflow: hidden;
}

.timesheetMonthPickerSheetBody {
  padding: 10px 16px max(18px, env(safe-area-inset-bottom));
  gap: 10px;
  display: grid;
  overflow: hidden auto;
}

.timesheetMonthPickerSheetHandle {
  background: color-mix(in srgb, var(--muted), white 15%);
  border-radius: 999px;
  width: 44px;
  height: 4px;
  margin: 0 auto;
}

.timesheetMonthPickerYearBtn:focus-visible, .timesheetMonthPickerMonthBtn:focus-visible, .timesheetMonthPickerFooterLink:focus-visible {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), transparent 55%);
  outline: none;
}

.timesheetMonthPickerYearRow {
  grid-template-columns: 40px minmax(0, 1fr) 40px;
  align-items: center;
  gap: 6px;
  display: grid;
}

.timesheetMonthPickerYearBtn {
  justify-content: center;
  align-items: center;
  transition: background-color .15s, color .15s, box-shadow .15s;
  background: none !important;
  border: 0 !important;
  border-radius: 999px !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 !important;
  display: inline-flex !important;
}

.timesheetMonthPickerYearBtn:hover:not(:disabled) {
  background: color-mix(in srgb, var(--fg), transparent 95%) !important;
}

.timesheetMonthPickerYearLabel {
  font-family: var(--font-mono);
  text-align: center;
  font-size: .98rem;
  font-weight: 700;
}

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

.timesheetMonthPickerMonthBtn {
  min-height: 42px;
  color: var(--fg);
  font: inherit;
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  font-size: .92rem;
  font-weight: 600;
  line-height: 1.1;
  transition: background-color .15s, border-color .15s, color .15s, box-shadow .15s;
  display: inline-flex;
  position: relative;
}

.timesheetMonthPickerMonthBtn:hover:not(:disabled) {
  background: color-mix(in srgb, var(--fg), transparent 95%);
}

.timesheetMonthPickerMonthBtn.isSelected {
  background: color-mix(in srgb, var(--focus), white 90%);
  border-color: color-mix(in srgb, var(--focus), transparent 70%);
  color: color-mix(in srgb, var(--focus), black 18%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--focus), transparent 76%);
  border-radius: 8px;
  font-weight: 700;
}

.timesheetMonthPickerMonthBtn.isCurrent:not(.isSelected) {
  color: color-mix(in srgb, var(--focus), black 10%);
}

.timesheetMonthPickerMonthBtn:disabled {
  opacity: .42;
  cursor: not-allowed;
}

.timesheetMonthPickerMonthLabel {
  white-space: nowrap;
  min-width: 0;
}

.timesheetMonthPickerCurrentMarker {
  background: color-mix(in srgb, var(--focus), transparent 38%);
  border-radius: 999px;
  width: 12px;
  height: 2px;
  position: absolute;
  bottom: 7px;
  left: 50%;
  transform: translateX(-50%);
}

.timesheetMonthPickerFooterLink {
  color: color-mix(in srgb, var(--focus), black 10%);
  font: inherit;
  cursor: pointer;
  background: none;
  border: 0;
  justify-self: center;
  padding: 2px 0 0;
  font-size: .92rem;
  font-weight: 600;
  line-height: 1.2;
  transition: color .15s, opacity .15s;
}

.timesheetMonthPickerFooterLink:hover {
  color: var(--focus);
}

.localizedMonthInput {
  width: 100%;
  min-width: 0;
  position: relative;
}

.localizedMonthInputTrigger {
  text-align: left;
  font: inherit;
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  line-height: 1.2;
  display: inline-flex;
}

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

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

.localizedMonthInputValue.isPlaceholder {
  color: color-mix(in srgb, var(--muted), white 28%);
}

.localizedMonthInputIcon {
  color: color-mix(in srgb, var(--muted), var(--fg) 12%);
  flex: none;
}

.localizedMonthInputPopover {
  left: 0;
  transform: none;
}

.localizedMonthInputFooter {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-height: 32px;
  display: flex;
}

.localizedMonthInputFooter .timesheetMonthPickerFooterLink {
  min-height: 32px;
}

.localizedDateInput {
  width: 100%;
  min-width: 0;
  position: relative;
}

.localizedDateInputTrigger {
  text-align: left;
  font: inherit;
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  line-height: 1.2;
  display: inline-flex;
}

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

.localizedDateInputPopover {
  width: min(332px, 100vw - 32px);
  left: 0;
  transform: none;
}

.localizedDatePickerHeader {
  grid-template-columns: 40px 40px minmax(0, 1fr) 40px 40px;
  align-items: center;
  gap: 6px;
  display: grid;
}

.localizedDatePickerMonthLabel {
  text-align: center;
  text-transform: capitalize;
  min-width: 0;
  font-size: .98rem;
  font-weight: 800;
  line-height: 1.15;
}

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

.localizedDatePickerWeekday {
  min-height: 24px;
  color: color-mix(in srgb, var(--muted), var(--fg) 12%);
  text-align: center;
  text-transform: uppercase;
  place-items: center;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1;
  display: grid;
}

.localizedDatePickerBlank {
  min-height: 36px;
}

.localizedDatePickerDayBtn {
  min-width: 0;
  min-height: 36px;
  color: var(--fg);
  font: inherit;
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 999px;
  place-items: center;
  padding: 0;
  font-size: .92rem;
  font-weight: 650;
  line-height: 1;
  transition: background-color .15s, border-color .15s, color .15s, box-shadow .15s;
  display: inline-grid;
}

.localizedDatePickerDayBtn:hover:not(:disabled) {
  background: color-mix(in srgb, var(--fg), transparent 95%);
}

.localizedDatePickerDayBtn:focus-visible {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), transparent 55%);
  outline: none;
}

.localizedDatePickerDayBtn.isSelected {
  border-color: color-mix(in srgb, var(--focus), transparent 70%);
  background: color-mix(in srgb, var(--focus), white 90%);
  color: color-mix(in srgb, var(--focus), black 18%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--focus), transparent 76%);
  border-radius: 8px;
  font-weight: 800;
}

.localizedDatePickerDayBtn.isToday:not(.isSelected) {
  color: color-mix(in srgb, var(--focus), black 10%);
}

.localizedDatePickerDayBtn.isToday:not(.isSelected):after {
  content: "";
  background: color-mix(in srgb, var(--focus), transparent 38%);
  border-radius: 999px;
  width: 12px;
  height: 2px;
  margin-top: -2px;
}

.localizedDatePickerDayBtn:disabled {
  opacity: .38;
  cursor: not-allowed;
}

.localizedDateTimeInput {
  grid-template-columns: minmax(0, 1fr) minmax(112px, .36fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: grid;
}

.localizedDateTimeInput .localizedDateInput, .localizedDateTimeInput > .input {
  min-width: 0;
}

.timesheetLegendRow {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 8px 16px;
  display: grid;
}

.timesheetLegendItem {
  grid-template-columns: 12px minmax(0, 1fr);
  align-items: center;
  column-gap: 8px;
  min-width: 0;
  display: grid;
}

.timesheetLegendSwatch {
  width: 12px;
  height: 12px;
}

.timesheetLegendLabel {
  font-size: 13px;
  line-height: 1.25;
}

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

.labelRow {
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  display: flex;
}

.label {
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
  font-size: 12px;
}

.input {
  appearance: none;
  background: var(--bg-2);
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  width: 100%;
  min-height: 44px;
  color: var(--fg);
  outline: none;
  padding: 10px 12px;
  font-size: 16px;
}

.input::placeholder, .textarea::placeholder {
  color: color-mix(in srgb, var(--muted), white 54%);
  opacity: 1;
}

.input:focus {
  border-color: color-mix(in srgb, var(--focus), black 6%);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), transparent 72%);
}

.input:focus:not(:focus-visible) {
  border-color: var(--stroke);
  box-shadow: none;
}

@media (max-width: 720px) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]), textarea, select {
    font-size: 16px;
  }
}

.appBackLink {
  appearance: none;
  width: fit-content;
  min-height: 44px;
  color: color-mix(in srgb, var(--focus), black 8%);
  font: inherit;
  white-space: nowrap;
  cursor: pointer;
  touch-action: manipulation;
  background: none;
  border: 0;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 0 9px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.1;
  text-decoration: none;
  transition: background-color .14s, color .14s;
  display: inline-flex;
}

.appBackLink:hover {
  background: color-mix(in srgb, var(--focus), white 95%);
}

.appBackLink:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 28%);
  outline-offset: 1px;
}

.appBackLinkIcon {
  stroke-width: 2px;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
}

.btn {
  appearance: none;
  border: 1px solid var(--stroke);
  background: var(--bg-2);
  color: var(--fg);
  border-radius: var(--radius);
  text-align: center;
  cursor: pointer;
  touch-action: manipulation;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  padding: 10px 14px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  transition: background-color .14s, border-color .14s, color .14s, box-shadow .14s;
  display: inline-flex;
}

.btn:hover {
  background: color-mix(in srgb, var(--bg-2), var(--fg) 4%);
  border-color: color-mix(in srgb, var(--stroke), black 12%);
}

.btn:focus-visible {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), transparent 70%);
  outline: none;
}

.btn:disabled {
  cursor: not-allowed;
  opacity: 1;
  color: color-mix(in srgb, var(--fg), var(--muted) 48%);
  background: color-mix(in srgb, var(--bg-2), var(--fg) 3%);
  border-color: color-mix(in srgb, var(--stroke), var(--fg) 20%);
  box-shadow: none;
}

.btnPrimary {
  border-color: color-mix(in srgb, var(--accent), black 16%);
  background: var(--accent);
  color: #fff;
}

.btnAction {
  border-color: color-mix(in srgb, var(--focus), black 16%);
  background: var(--focus);
  color: #fff;
}

.btnDanger {
  border-color: color-mix(in srgb, var(--danger), black 18%);
  background: var(--danger);
  color: #fff;
}

.btnSuccess {
  border-color: color-mix(in srgb, var(--ok), black 16%);
  background: var(--ok);
  color: #fff;
}

.btnPrimary:hover:not(:disabled) {
  background: color-mix(in srgb, var(--accent), black 10%);
}

.btnAction:hover:not(:disabled) {
  background: color-mix(in srgb, var(--focus), black 10%);
}

.btnDanger:hover:not(:disabled) {
  background: color-mix(in srgb, var(--danger), black 10%);
}

.btnSuccess:hover:not(:disabled) {
  background: color-mix(in srgb, var(--ok), black 10%);
}

.btnPrimary:disabled {
  background: color-mix(in srgb, var(--accent), white 34%);
  border-color: color-mix(in srgb, var(--accent), black 8%);
  color: #fff;
}

.btnAction:disabled {
  background: color-mix(in srgb, var(--focus), white 34%);
  border-color: color-mix(in srgb, var(--focus), black 8%);
  color: #fff;
}

.btnDanger:disabled {
  background: color-mix(in srgb, var(--danger), white 34%);
  border-color: color-mix(in srgb, var(--danger), black 8%);
  color: #fff;
}

.btnSuccess:disabled {
  background: color-mix(in srgb, var(--ok), white 34%);
  border-color: color-mix(in srgb, var(--ok), black 8%);
  color: #fff;
}

input[type="checkbox"], input[type="radio"] {
  accent-color: var(--focus);
  width: 16px;
  height: 16px;
}

input[type="checkbox"]:focus-visible, input[type="radio"]:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 65%);
  outline-offset: 2px;
}

.pill {
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg-2), var(--bg) 18%);
  color: var(--muted);
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  font-size: 13px;
  display: inline-flex;
}

.pillStatusDraft {
  background: color-mix(in srgb, var(--bg-2), var(--fg) 3%);
  color: var(--muted);
}

.pillStatusSubmitted {
  border-color: color-mix(in srgb, var(--focus), transparent 50%);
  background: color-mix(in srgb, var(--focus), white 92%);
  color: var(--fg);
}

.pillStatusPending {
  border-color: color-mix(in srgb, var(--accent), transparent 45%);
  background: color-mix(in srgb, var(--accent), white 92%);
  color: color-mix(in srgb, var(--fg), black 6%);
}

.pillStatusApproved {
  border-color: color-mix(in srgb, var(--ok), transparent 55%);
  background: color-mix(in srgb, var(--ok), white 94%);
  color: var(--fg);
}

.pillStatusRejected {
  border-color: color-mix(in srgb, var(--danger), transparent 48%);
  background: color-mix(in srgb, var(--danger), white 92%);
  color: var(--fg);
}

.pillStatusLocked {
  border-color: color-mix(in srgb, var(--focus), transparent 55%);
  background: color-mix(in srgb, var(--focus), white 94%);
  color: var(--fg);
}

.documentSemanticLabel {
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
  border: 0;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 24px;
  padding: 0 9px;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.1;
  display: inline-flex;
}

:where(.semanticLabel:is(.semanticLabelStatus, .semanticLabelCategory, .semanticLabelAttention, .semanticLabelProvenance)) {
  background: color-mix(in srgb, var(--bg-2), var(--fg) 3%);
  color: var(--muted);
  display: inline-flex;
}

html:root .semanticLabel:is(.semanticLabelStatus, .semanticLabelCategory, .semanticLabelAttention, .semanticLabelProvenance) {
  width: fit-content;
  max-width: 100%;
  box-shadow: none;
  white-space: nowrap;
  border: 0;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: 5px;
}

html:root .semanticLabel.semanticLabelStatus {
  letter-spacing: 0;
  text-transform: none;
  min-height: 24px;
  padding: 0 9px;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.1;
}

html:root .semanticLabel:is(.semanticLabelCategory, .semanticLabelAttention) {
  letter-spacing: .035em;
  text-transform: uppercase;
  min-height: 19px;
  padding: 0 7px;
  font-size: 10px;
  font-weight: 750;
  line-height: 1;
}

html:root .semanticLabel.semanticLabelProvenance {
  letter-spacing: 0;
  text-transform: none;
  min-height: 19px;
  padding: 0 7px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
}

.documentViewer {
  gap: 12px;
  display: grid;
}

.documentViewerToolbar {
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  display: grid;
}

.documentViewerToolbarStart, .documentViewerToolbarCenter, .documentViewerToolbarEnd {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.documentViewerToolbarCenter {
  justify-content: center;
}

.documentViewerToolbarEnd {
  justify-content: flex-end;
}

.documentViewerToolbarTitle {
  min-width: 0;
  font-weight: 700;
}

.documentViewerToolbarMeta {
  color: var(--muted);
  font-size: 13px;
}

.documentViewerToolbarBtn {
  white-space: nowrap;
  min-height: 34px;
  padding-inline: 10px;
}

.documentViewerToolbarBtn.isActive {
  border-color: color-mix(in srgb, var(--focus), transparent 48%);
  background: color-mix(in srgb, var(--focus), white 95%);
  color: color-mix(in srgb, var(--focus), black 12%);
}

.documentViewerViewport {
  border: 1px solid var(--stroke);
  background: #f8fafc;
  border-radius: 8px;
  max-width: 100%;
  height: min(72vh, 760px);
  min-height: 420px;
  position: relative;
  overflow: auto;
}

.documentViewer.isInline .documentViewerViewport {
  height: clamp(760px, 84vh, 980px);
  min-height: 760px;
}

.documentViewer.isFull .documentViewerViewport {
  height: min(78vh, 920px);
}

.documentViewerLoading {
  z-index: 2;
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  color: var(--muted);
  background: #fffffff0;
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  font-size: 13px;
  display: inline-flex;
  position: absolute;
  top: 12px;
  right: 12px;
  box-shadow: 0 4px 12px #10182814;
}

.documentViewerLoadingCenter {
  z-index: 1;
  color: var(--muted);
  background: linear-gradient(90deg, transparent 0 31px, color-mix(in srgb, var(--stroke), transparent 72%) 31px 32px),
    linear-gradient(transparent 0 31px, color-mix(in srgb, var(--stroke), transparent 72%) 31px 32px),
    #f8fafc;
  background-size: 32px 32px;
  place-content: center;
  justify-items: center;
  gap: 10px;
  padding: 20px;
  font-size: 14px;
  display: grid;
  position: absolute;
  inset: 0;
}

.documentViewerLoadingDot {
  background: currentColor;
  border-radius: 999px;
  width: 8px;
  height: 8px;
  animation: .9s ease-in-out infinite alternate documentViewerPulse;
}

@keyframes documentViewerPulse {
  from {
    opacity: .35;
    transform: scale(.92);
  }

  to {
    opacity: .9;
    transform: scale(1);
  }
}

.documentViewerFrame {
  background: #fff;
  border: 0;
  width: 100%;
  max-width: 100%;
  height: 100%;
  display: block;
}

.documentViewerImageStage {
  place-items: center;
  min-width: 0;
  max-width: 100%;
  min-height: 100%;
  padding: 18px;
  display: grid;
  overflow: auto;
}

.documentViewerImageStage.isPdfPagePreview {
  background: #fff;
  place-items: start center;
}

.documentViewerImage {
  object-fit: contain;
  max-width: 100%;
  max-height: 100%;
  transform: scale(var(--document-viewer-image-scale, 1));
  transform-origin: center;
  margin: 0 auto;
  display: block;
}

.documentViewerImage.isPdfPagePreview {
  transform-origin: top;
  width: min(100%, 760px);
  max-width: 100%;
  height: auto;
  max-height: none;
}

.documentViewerFallback {
  justify-content: center;
  align-items: center;
  gap: 14px;
  min-height: 100%;
  padding: 20px;
  display: flex;
}

.documentViewerFallbackTile {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 8%);
  min-width: 72px;
  min-height: 72px;
  font-family: var(--font-condensed);
  background: #fff;
  border-radius: 12px;
  place-items: center;
  padding: 14px;
  font-size: 22px;
  line-height: 1;
  display: grid;
}

.documentViewerFallbackTile.isPdf {
  border-color: color-mix(in srgb, var(--danger), transparent 68%);
  background: color-mix(in srgb, var(--danger), white 94%);
  color: color-mix(in srgb, var(--danger), black 12%);
}

.documentViewerFallbackTile.isImage {
  border-color: color-mix(in srgb, var(--focus), transparent 68%);
  background: color-mix(in srgb, var(--focus), white 95%);
  color: color-mix(in srgb, var(--focus), black 10%);
}

.documentViewerFallbackBody {
  gap: 10px;
  max-width: 46ch;
  display: grid;
}

.documentViewerFallbackTitle, .documentViewerFallbackText {
  margin: 0;
}

.documentViewerFallbackMeta {
  overflow-wrap: anywhere;
  gap: 3px;
  display: grid;
}

.documentViewerFallbackActions {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.documentViewerFooter {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding-top: 2px;
  display: flex;
}

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

  .documentViewerToolbarCenter, .documentViewerToolbarEnd {
    justify-content: flex-start;
  }

  .documentViewer.isFull .documentViewerToolbar {
    gap: 8px;
  }

  .documentViewer.isFull .documentViewerToolbarStart {
    justify-content: space-between;
  }
}

@media (max-width: 720px) {
  .documentViewerViewport {
    height: min(58vh, 520px);
    min-height: 280px;
  }

  .documentViewer.isInline .documentViewerViewport {
    height: min(76vh, 680px);
    min-height: 420px;
  }

  .documentViewer.isFull .documentViewerViewport {
    height: min(72vh, 640px);
  }

  .documentViewer.isFull .documentViewerToolbarTitle {
    display: none;
  }

  .documentViewerFallback {
    align-items: flex-start;
  }

  .documentViewerFallbackTile {
    min-width: 54px;
    min-height: 54px;
    font-size: 16px;
  }
}

.signaturePlacementViewer {
  gap: 10px;
  display: grid;
}

.signaturePlacementHeader {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  display: grid;
}

.signaturePlacementHeader h2, .signaturePlacementHeader p {
  margin: 0;
}

.signaturePlacementHeader h2 {
  font-size: 17px;
  line-height: 1.15;
}

.signaturePlacementHeader p {
  max-width: 66ch;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.25;
}

.signaturePlacementToolbar {
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 7px;
  display: flex;
}

.signaturePlacementControl {
  white-space: nowrap;
  gap: 6px;
  min-width: 38px;
  min-height: 38px;
  padding-inline: 9px;
}

.signaturePlacementControl:not(.isReset) .signaturePlacementControlText {
  clip: rect(0 0 0 0);
  white-space: nowrap;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}

.signaturePlacementControlIcon {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2px;
  width: 16px;
  height: 16px;
  display: block;
}

.signaturePlacementPageCount {
  border: 1px solid var(--stroke);
  min-width: 58px;
  min-height: 38px;
  color: var(--fg);
  background: #fff;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  padding-inline: 10px;
  font-size: 14px;
  font-weight: 800;
  display: inline-flex;
}

.signaturePlacementCanvasShell {
  border: 1px solid var(--stroke);
  background: linear-gradient(90deg, transparent 0 31px, color-mix(in srgb, var(--stroke), transparent 78%) 31px 32px),
    linear-gradient(transparent 0 31px, color-mix(in srgb, var(--stroke), transparent 78%) 31px 32px),
    #f8fafc;
  background-size: 32px 32px;
  border-radius: 8px;
  min-height: 400px;
  position: relative;
  overflow: hidden;
}

.signaturePlacementStage {
  touch-action: manipulation;
  place-items: start center;
  width: 100%;
  height: min(70vh, 720px);
  min-height: 400px;
  padding: 18px;
  display: grid;
  overflow: auto;
}

.signaturePlacementPage {
  background: #fff;
  min-width: 240px;
  min-height: 320px;
  position: relative;
  box-shadow: 0 18px 36px #0f172a1f;
}

.signaturePlacementPage canvas {
  background: #fff;
  display: block;
}

.signaturePlacementOverlay {
  z-index: 2;
  border: 1.5px solid var(--focus);
  cursor: grab;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  background: none;
  border-radius: 7px;
  display: block;
  position: absolute;
  box-shadow: 0 8px 20px #2563eb24;
}

.signaturePlacementOverlay:before {
  content: "";
  position: absolute;
  inset: -12px;
}

.signaturePlacementOverlay:active {
  cursor: grabbing;
}

.signaturePlacementOverlay img {
  object-fit: contain;
  pointer-events: none;
  mix-blend-mode: multiply;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  position: absolute;
  inset: 2px;
}

.signaturePlacementResizeHandle {
  background: var(--focus);
  cursor: nwse-resize;
  touch-action: none;
  border: 2px solid #fff;
  border-radius: 999px;
  width: 28px;
  height: 28px;
  position: absolute;
  bottom: -12px;
  right: -12px;
  box-shadow: 0 5px 16px #2563eb47;
}

.signaturePlacementResizeHandle:before {
  content: "";
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  inset: 8px;
}

.signaturePlacementState {
  z-index: 3;
  color: var(--muted);
  background: #f8fafceb;
  place-items: center;
  padding: 20px;
  font-weight: 800;
  display: grid;
  position: absolute;
  inset: 0;
}

.signaturePlacementState.isError {
  color: var(--danger);
}

@media (max-width: 900px) {
  .signaturePlacementHeader {
    grid-template-columns: minmax(0, 1fr);
  }

  .signaturePlacementToolbar {
    justify-content: flex-start;
  }
}

@media (max-width: 720px) {
  .signaturePlacementViewer {
    gap: 12px;
  }

  .signaturePlacementHeader h2 {
    font-size: 22px;
  }

  .signaturePlacementHeader p {
    font-size: 15px;
  }

  .signaturePlacementToolbar {
    grid-template-columns: 46px minmax(66px, 1fr) 46px minmax(104px, auto);
    align-items: center;
    gap: 8px;
    display: grid;
  }

  .signaturePlacementControl {
    justify-content: center;
    min-width: 0;
    min-height: 46px;
    padding-inline: 8px;
  }

  .signaturePlacementControl:not(.isReset) .signaturePlacementControlText {
    clip: rect(0 0 0 0);
    white-space: nowrap;
    width: 1px;
    height: 1px;
    position: absolute;
    overflow: hidden;
  }

  .signaturePlacementCanvasShell, .signaturePlacementStage {
    min-height: 320px;
  }

  .signaturePlacementStage {
    height: min(62vh, 560px);
    padding: 12px;
  }

  .signaturePlacementPageCount {
    min-width: 0;
    min-height: 46px;
  }
}

.topbar {
  z-index: 10;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: color-mix(in srgb, var(--bg-2), transparent 10%);
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  position: sticky;
  top: 0;
}

.topbarInner, .appTopbarInner {
  max-width: var(--container);
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin: 0 auto;
  padding: 14px 20px;
  display: flex;
}

.topbarActions, .appTopbarActions {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  display: flex;
}

.topbarRight, .appTopbarRight {
  align-items: center;
  gap: 10px;
  display: inline-flex;
}

.brand, .appBrand {
  align-items: center;
  gap: 12px;
  display: flex;
}

.brandLogo, .appBrandLogo {
  flex: none;
  width: auto;
  height: 24px;
}

.brandBlock, .appBrandBlock {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.brandTitle, .appBrandTitle {
  font-family: var(--font-condensed);
  letter-spacing: .02em;
  font-size: 18px;
  line-height: 1.1;
}

.brandWelcome, .appBrandWelcome {
  font-size: 12px;
}

.appVersionTag {
  color: var(--muted);
  opacity: .9;
  font-size: 11px;
}

.nav, .appNav {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.navLink, .appNavLink {
  border-radius: var(--radius);
  color: var(--muted);
  border: 1px solid #0000;
  padding: 10px 12px;
}

.navLink:hover, .appNavLink:hover {
  border-color: color-mix(in srgb, var(--stroke), transparent 0%);
  color: var(--fg);
}

.navLink:focus-visible, .appNavLink:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 25%);
  outline-offset: 2px;
  border-color: color-mix(in srgb, var(--stroke), transparent 0%);
  color: var(--fg);
}

.navLinkActive, .appNavLinkActive {
  border-color: color-mix(in srgb, var(--focus), transparent 48%);
  color: var(--fg);
  background: color-mix(in srgb, var(--focus), white 90%);
}

.card:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 25%);
  outline-offset: 2px;
}

.localeSwitcher {
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  background: var(--bg-2);
  align-items: center;
  display: inline-flex;
  overflow: hidden;
}

.localeOption {
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
  border-left: 1px solid var(--stroke);
  padding: 9px 10px;
  font-size: 12px;
}

.localeOption:first-child {
  border-left: none;
}

.localeOption:hover {
  background: color-mix(in srgb, var(--bg-2), var(--fg) 2%);
  color: var(--fg);
}

.localeOption:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 20%);
  outline-offset: -2px;
}

.localeOptionActive {
  background: color-mix(in srgb, var(--accent), white 92%);
  color: var(--fg);
}

.skipLink {
  z-index: 100;
  background: var(--bg-2);
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  opacity: 0;
  pointer-events: none;
  padding: 10px 12px;
  transition: opacity .12s, transform .12s;
  position: absolute;
  top: 10px;
  left: 10px;
  transform: translateY(calc(-100% - 20px));
}

.skipLink:focus, .skipLink:focus-visible {
  opacity: 1;
  pointer-events: auto;
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 15%);
  outline-offset: 2px;
  transform: translateY(0);
}

.errorBox {
  border: 1px solid color-mix(in srgb, var(--danger), transparent 55%);
  background: color-mix(in srgb, var(--danger), white 92%);
  border-radius: var(--radius);
  color: color-mix(in srgb, var(--danger), black 15%);
  margin-top: 12px;
  padding: 12px 14px;
  font-size: 14px;
}

.cmPopover {
  z-index: 20;
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  background: var(--bg-2);
  box-shadow: var(--shadow);
  max-height: 280px;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  overflow: auto;
}

.cmPopoverList {
  gap: 2px;
  padding: 6px;
  display: grid;
}

.cmPopoverOption {
  width: 100%;
  color: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 2px;
  gap: 2px;
  padding: 8px 10px;
  display: grid;
}

.cmPopoverOption:hover {
  background: color-mix(in srgb, var(--bg), var(--fg) 4%);
}

.cmPopoverOption.isActive {
  background: color-mix(in srgb, var(--focus), white 88%);
}

.cmPopoverOption:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 20%);
  outline-offset: 1px;
}

@media (max-width: 960px) {
  .topbarInner, .appTopbarInner {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .brand, .appBrand {
    width: 100%;
  }

  .topbarActions, .appTopbarActions {
    justify-content: space-between;
    width: 100%;
  }
}

@media (max-width: 680px) {
  .topbarInner, .appTopbarInner {
    gap: 8px;
    padding: 8px 10px;
  }

  .content {
    padding: 12px 12px 28px;
  }

  .container {
    padding: 12px;
  }

  .topbarActions, .appTopbarActions {
    gap: 6px;
    display: grid;
  }

  .nav, .appNav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px;
    width: 100%;
    display: grid;
  }

  .navLink, .appNavLink {
    text-align: center;
    justify-content: center;
    align-items: center;
    min-height: 44px;
    padding: 6px;
    font-size: 13px;
    line-height: 1.2;
    display: inline-flex;
  }

  .topbarRight, .appTopbarRight {
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 6px;
    width: 100%;
  }

  .localeSwitcher {
    flex: auto;
    min-width: 0;
  }

  .localeOption {
    text-align: center;
    flex: 1 1 0;
    padding: 9px 8px;
  }

  .topbarRight form, .appTopbarRight form {
    flex: none;
  }

  .topbarRight form .btn, .appTopbarRight form .btn {
    min-width: 88px;
    min-height: 44px;
    padding-left: 8px;
    padding-right: 8px;
  }

  .brandTitle {
    font-size: 16px !important;
  }

  .brandWelcome {
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: 100%;
    line-height: 1.2;
    overflow: hidden;
    font-size: 11px !important;
  }
}

@media (max-width: 760px) {
  .timesheetMonthNav {
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }

  .timesheetMonthNavTrigger {
    min-width: 0;
    max-width: min(68vw, 240px);
    padding-left: 8px;
    padding-right: 8px;
    font-size: 15px;
  }

  .timesheetMonthPickerPopover {
    width: min(312px, 100vw - 24px);
  }

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

  .timesheetMonthPickerSheetCard {
    width: 100%;
  }

  .timesheetMonthPickerYearBtn {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
  }

  .timesheetMonthPickerYearRow {
    grid-template-columns: 44px minmax(0, 1fr) 44px;
  }

  .timesheetMonthPickerMonthBtn {
    min-height: 46px;
  }

  .localizedDateInputPopover {
    width: min(312px, 100vw - 24px);
  }

  .localizedDatePickerHeader {
    grid-template-columns: 40px 40px minmax(0, 1fr) 40px 40px;
  }

  .localizedDatePickerDayBtn, .localizedDatePickerBlank {
    min-height: 44px;
  }

  .localizedDateTimeInput {
    grid-template-columns: 1fr;
  }

  .timesheetMonthPickerFooterLink {
    align-self: start;
    min-height: 44px;
  }
}

@media (max-width: 420px) {
  .navLink, .appNavLink {
    font-size: 12px;
  }

  .brandTitle {
    font-size: 15px !important;
  }

  .brandWelcome {
    display: none;
  }
}

.timesheetDayEditorShellBody {
  gap: 12px;
  display: grid;
}

.timesheetDayEditorSection {
  gap: 10px;
  display: grid;
}

.timesheetDayEditorActions {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.timesheetDayEditorError {
  margin: 0;
}

/* [project]/apps/admin/src/app/globals.css [app-client] (css) */
:root {
  --admin-shell-max: 1660px;
  --admin-shell-gutter: 24px;
  --admin-sidebar-w: 300px;
  --admin-sidebar-collapsed-w: 84px;
  --admin-shell-gap: 18px;
  --calendar-worked-fill: #f1f8f3;
  --calendar-worked-border: #8fc79e;
  --calendar-worked-text: #2e6b46;
  --calendar-attention-fill: #fcf5ec;
  --calendar-attention-border: #d9a66b;
  --calendar-attention-text: #8a4f1d;
  --calendar-missing-fill: #fdf1f2;
  --calendar-missing-border: #e58a95;
  --calendar-missing-text: #b4232c;
  --calendar-blank-fill: #fff;
  --calendar-blank-border: #e5e7eb;
  --calendar-blank-text: #98a2b3;
  --calendar-weekend-fill: #f8fafc;
  --calendar-weekend-border: #d0d5dd;
  --calendar-weekend-text: #667085;
  --calendar-neutral-fill: #fcfcfd;
  --calendar-neutral-border: #d5d9df;
  --calendar-neutral-text: #667085;
  --calendar-readonly-fill: #fcfcfd;
  --calendar-readonly-border: #d5d9df;
  --calendar-readonly-text: #667085;
  --calendar-readonly-stripe: #94a3b826;
}

html {
  scrollbar-gutter: stable;
}

:is(html:has(.adminLoginMain), body:has(.adminLoginMain)) {
  scrollbar-gutter: auto;
}

.localeSwitcher {
  background: none;
  border: 0;
  border-radius: 0;
  width: fit-content;
  min-width: 0;
  display: inline-flex;
  position: relative;
  overflow: visible;
}

.localeTrigger {
  box-sizing: border-box;
  min-width: 72px;
  min-height: 44px;
  color: var(--fg);
  font: inherit;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  background: none;
  border: 0;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  gap: 7px;
  padding: 0 10px;
  font-size: 13px;
  font-weight: 650;
  line-height: 1;
  display: inline-flex;
}

.localeTrigger:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus), transparent 76%);
  outline: none;
}

.localeTrigger .localeCode, .localeMenuItem .localeCode {
  letter-spacing: .01em;
  text-align: left;
  width: 26px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.localeFlag {
  object-fit: cover;
  width: 18px;
  height: 12px;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--stroke), transparent 42%);
  border-radius: 2px;
  flex: none;
  display: block;
}

.localeChevron {
  width: 14px;
  height: 14px;
  color: var(--muted);
  flex: 0 0 14px;
  transition: transform .14s;
}

.localeTrigger:hover {
  background: color-mix(in srgb, var(--bg-2), var(--fg) 2%);
}

.localeSwitcherOpen .localeTrigger {
  color: var(--focus);
  background: color-mix(in srgb, var(--focus), transparent 93%);
}

.localeSwitcherOpen .localeChevron {
  transform: rotate(180deg);
}

.localeMenu {
  background: var(--bg);
  border: 1px solid var(--stroke);
  box-sizing: border-box;
  z-index: 60;
  border-radius: 12px;
  gap: 2px;
  width: max-content;
  min-width: 190px;
  max-width: calc(100vw - 24px);
  padding: 6px;
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  box-shadow: 0 18px 44px #0f172a26;
}

.localeSwitcherOpen {
  z-index: 61;
}

.localeSwitcherOpen .localeMenu {
  display: grid;
}

.localeMenuItem {
  width: 100%;
  min-height: 44px;
  color: var(--fg);
  font: inherit;
  text-align: left;
  box-sizing: border-box;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 8px;
  grid-template-columns: 18px 26px minmax(76px, 1fr) 16px;
  align-items: center;
  column-gap: 9px;
  padding: 8px 10px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  display: grid;
}

.localeMenuItem.isCurrent {
  background: color-mix(in srgb, var(--focus), transparent 93%);
}

.localeMenuItem:hover, .localeMenuItem:focus-visible {
  background: color-mix(in srgb, var(--bg-2), var(--fg) 3%);
}

.localeMenuItem:focus-visible {
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--focus), transparent 58%);
  outline: none;
}

.localeMenuLanguage {
  min-width: 0;
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 500;
  overflow: hidden;
}

.localeMenuCheck {
  width: 16px;
  height: 16px;
  color: var(--focus);
  justify-self: end;
}

main.content {
  max-width: var(--admin-shell-max);
  padding-left: var(--admin-shell-gutter);
  padding-right: var(--admin-shell-gutter);
  margin: 0 auto;
}

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

.skipLink {
  z-index: 2000;
  border: 1px solid var(--focus);
  color: var(--fg);
  opacity: 0;
  pointer-events: none;
  background: #fff;
  border-radius: 10px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  transition: opacity .12s, transform .12s;
  position: fixed;
  top: 12px;
  left: 12px;
  transform: translateY(calc(-100% - 20px));
  box-shadow: 0 12px 30px #0f172a2e;
}

.skipLink:focus-visible {
  opacity: 1;
  pointer-events: auto;
  outline: 3px solid color-mix(in srgb, var(--focus), transparent 55%);
  outline-offset: 2px;
  transform: translateY(0);
}

.skipLink:focus:not(:focus-visible) {
  opacity: 0;
  pointer-events: none;
  transform: translateY(calc(-100% - 20px));
}

.adminRedenimShell {
  --admin-redenim-sidebar-w: 272px;
  --admin-redenim-sidebar-collapsed-w: 68px;
  --admin-shell-header-height: 64px;
  --admin-redenim-current-sidebar-w: var(--admin-redenim-sidebar-w);
  --admin-shell-workspace-gutter: 32px;
  --admin-shell-content-edge: max(var(--admin-shell-workspace-gutter), calc((100% - var(--admin-shell-max)) / 2));
  --sidebar-bg: #24384f;
  --sidebar-bg-subtle: #2d4560;
  --sidebar-bg-hover: #ffffff12;
  --sidebar-bg-active: #3b82f638;
  --sidebar-border: #ffffff1a;
  --sidebar-text: #f8fafc;
  --sidebar-text-muted: #cbd5e1;
  --sidebar-section-text: #aab8c7;
  --sidebar-active-text: #fff;
  --sidebar-active-icon: #93c5fd;
  --sidebar-active-border: #60a5fa;
  grid-template-columns: var(--admin-redenim-current-sidebar-w) minmax(0, 1fr);
  min-height: 100dvh;
  color: var(--fg);
  background: #fff;
  display: grid;
}

html[data-admin-sidebar-style="slate-blue"] .adminRedenimShell {
  --sidebar-bg: #30465e;
  --sidebar-bg-subtle: #3a5570;
  --sidebar-bg-active: #60a5fa33;
  --sidebar-active-border: #93c5fd;
}

html[data-admin-sidebar-style="blue-charcoal"] .adminRedenimShell {
  --sidebar-bg: #2e3d4a;
  --sidebar-bg-subtle: #374957;
  --sidebar-bg-active: #3b82f62e;
  --sidebar-active-border: #60a5fa;
}

html[data-admin-sidebar-style="petrol-gray"] .adminRedenimShell {
  --sidebar-bg: #28494f;
  --sidebar-bg-subtle: #315961;
  --sidebar-bg-active: #2dd4bf29;
  --sidebar-active-border: #5eead4;
  --sidebar-active-icon: #99f6e4;
}

html[data-admin-sidebar-style="warm-graphite"] .adminRedenimShell {
  --sidebar-bg: #3b4148;
  --sidebar-bg-subtle: #474f57;
  --sidebar-bg-active: #60a5fa2e;
  --sidebar-active-border: #93c5fd;
}

html[data-admin-sidebar-style="moss-graphite"] .adminRedenimShell {
  --sidebar-bg: #33453d;
  --sidebar-bg-subtle: #3d544a;
  --sidebar-bg-active: #22c55e26;
  --sidebar-active-border: #86efac;
  --sidebar-active-icon: #bbf7d0;
}

html[data-admin-sidebar-collapsed="1"] .adminRedenimShell {
  --admin-redenim-current-sidebar-w: var(--admin-redenim-sidebar-collapsed-w);
}

@supports (-webkit-app-region: drag) {
  @media (display-mode: window-controls-overlay) {
    .adminRedenimShell {
      --admin-titlebar-overlay-height: env(titlebar-area-height, 0px);
    }

    .adminRedenimShell:before {
      content: "";
      z-index: 80;
      height: var(--admin-titlebar-overlay-height);
      background: var(--sidebar-bg);
      -webkit-app-region: drag;
      app-region: drag;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
    }

    .adminRedenimSidebarSlot, .adminRedenimAppColumn {
      box-sizing: border-box;
      padding-top: var(--admin-titlebar-overlay-height);
    }

    .adminRedenimSidebarSlot {
      background: var(--sidebar-bg);
    }

    .adminRedenimSidebar {
      top: var(--admin-titlebar-overlay-height);
      height: calc(100dvh - var(--admin-titlebar-overlay-height));
    }

    .adminRedenimTopbar {
      top: var(--admin-titlebar-overlay-height);
    }
  }
}

.adminRedenimSidebarSlot {
  min-width: 0;
  min-height: 100dvh;
}

.adminRedenimMobileScrim, .adminRedenimMobileClose {
  display: none;
}

.adminRedenimSidebar {
  height: 100dvh;
  min-height: 0;
  color: var(--sidebar-text);
  background: linear-gradient(180deg, color-mix(in srgb, var(--sidebar-bg-subtle), white 2%) 0%, var(--sidebar-bg) 42%, color-mix(in srgb, var(--sidebar-bg), black 8%) 100%);
  border-right: 1px solid color-mix(in srgb, var(--sidebar-border), black 18%);
  grid-template-rows: auto minmax(0, 1fr) auto;
  display: grid;
  position: sticky;
  top: 0;
  overflow: hidden;
}

html[data-admin-sidebar-surface="flat"] .adminRedenimSidebar {
  background: var(--sidebar-bg);
}

.adminRedenimSidebarTop {
  height: var(--admin-shell-header-height);
  box-sizing: border-box;
  border-bottom: 1px solid var(--sidebar-border);
  align-items: center;
  min-height: 0;
  padding: 0 16px;
  display: flex;
}

.adminRedenimBrand {
  width: 100%;
  min-width: 0;
  color: var(--sidebar-text);
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  text-decoration: none;
  display: grid;
}

.adminRedenimLogoTile {
  background: #fffffff0;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  display: inline-flex;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px #ffffff70, 0 3px 10px #0000001f;
}

.adminRedenimLogo {
  width: auto;
  max-width: 29px;
  height: auto;
  max-height: 29px;
  display: block;
}

.adminRedenimLogoFallback {
  color: var(--sidebar-bg);
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
}

.adminRedenimBrandText {
  min-width: 0;
}

.adminRedenimBrandTitle {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.1;
  overflow: hidden;
}

.adminRedenimSidebarBody {
  overscroll-behavior: contain;
  scrollbar-width: none;
  min-height: 0;
  padding: 12px 10px 14px;
  overflow-y: auto;
}

.adminRedenimSidebarBody::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.adminRedenimNav {
  gap: 6px;
  display: grid;
}

.adminRedenimNavGroup {
  gap: 4px;
  display: grid;
}

.adminRedenimNavGroup + .adminRedenimNavGroup {
  border-top: 1px solid var(--sidebar-border);
  padding-top: 10px;
}

.adminRedenimGroupButton, .adminRedenimNavLink, .adminRedenimCollapseButton {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  color: var(--sidebar-text);
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 10px;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  text-decoration: none;
  transition: background-color .14s, color .14s, box-shadow .14s;
  display: flex;
}

.adminRedenimGroupButton:hover, .adminRedenimNavLink:hover, .adminRedenimCollapseButton:hover {
  background: var(--sidebar-bg-hover);
}

.adminRedenimGroupButton:focus-visible, .adminRedenimNavLink:focus-visible, .adminRedenimCollapseButton:focus-visible {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--sidebar-active-border), transparent 44%);
  outline: none;
}

.adminRedenimGroupButton, .adminRedenimNavLink {
  position: relative;
}

.adminRedenimNavLink.isActive {
  color: var(--sidebar-active-text);
  background: var(--sidebar-bg-active);
}

.adminRedenimNavLink.isActive:before {
  content: "";
  background: var(--sidebar-active-border);
  border-radius: 999px;
  width: 2px;
  position: absolute;
  top: 9px;
  bottom: 9px;
  left: 3px;
}

.adminRedenimNavLink.isLocked {
  color: color-mix(in srgb, var(--sidebar-text-muted), transparent 16%);
}

.adminRedenimNavGroup.isActive > .adminRedenimGroupButton, .adminRedenimSettingsSubGroup.isActive > .adminRedenimGroupButton {
  color: var(--sidebar-active-text);
}

.adminRedenimNavIcon {
  width: 20px;
  height: 20px;
  color: color-mix(in srgb, var(--sidebar-text-muted), white 6%);
  flex: none;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.adminRedenimNavLink.isActive .adminRedenimNavIcon, .adminRedenimNavGroup.isActive > .adminRedenimGroupButton .adminRedenimNavIcon, .adminRedenimSettingsSubGroup.isActive > .adminRedenimGroupButton .adminRedenimNavIcon {
  color: var(--sidebar-active-icon);
}

.adminRedenimNavLabel {
  overflow-wrap: anywhere;
  flex: auto;
  min-width: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
}

.adminRedenimGroupButton .adminRedenimNavLabel {
  color: var(--sidebar-section-text);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 800;
}

.adminRedenimGroupChevron {
  color: var(--sidebar-text-muted);
  flex: none;
  transition: transform .14s;
  transform: rotate(-90deg);
}

.adminRedenimNavGroup.isOpen > .adminRedenimGroupButton .adminRedenimGroupChevron {
  transform: rotate(0);
}

.adminRedenimChildList {
  gap: 2px;
  padding-left: 8px;
  display: grid;
}

.adminRedenimChildList .adminRedenimNavLink {
  min-height: 44px;
}

.adminRedenimSettingsSubGroup {
  gap: 4px;
  display: grid;
}

.adminRedenimSettingsSubGroup + .adminRedenimSettingsSubGroup {
  border-top: 1px solid color-mix(in srgb, var(--sidebar-border), transparent 28%);
  margin-top: 4px;
  padding-top: 8px;
}

.adminRedenimSettingsGroupButton {
  border-radius: 10px;
  min-height: 44px;
}

.adminRedenimSettingsSubGroup.isActive:not(.isOpen) > .adminRedenimSettingsGroupButton {
  background: color-mix(in srgb, var(--sidebar-bg-active), transparent 24%);
}

.adminRedenimSettingsSubGroup.isActive:not(.isOpen) > .adminRedenimSettingsGroupButton:before {
  content: "";
  background: var(--sidebar-active-border);
  border-radius: 999px;
  width: 3px;
  position: absolute;
  top: 9px;
  bottom: 9px;
  left: 4px;
}

.adminRedenimSettingsSubGroup.isOpen > .adminRedenimGroupButton .adminRedenimGroupChevron {
  transform: rotate(0);
}

.adminRedenimSettingsSubList {
  gap: 2px;
  padding-left: 8px;
  display: grid;
}

.adminRedenimSettingsSubList .adminRedenimNavLink {
  min-height: 44px;
}

.adminRedenimBadge {
  background: var(--danger);
  color: #fff;
  min-width: 20px;
  min-height: 20px;
  font-family: var(--font-mono);
  border: 0;
  border-radius: 999px;
  flex: none;
  justify-content: center;
  align-items: center;
  padding: 0 6px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
}

.adminRedenimSidebarFooter {
  border-top: 1px solid var(--sidebar-border);
  gap: 8px;
  padding: 10px;
  display: grid;
}

.adminRedenimCollapseButton {
  min-height: 44px;
  color: var(--sidebar-text-muted);
  background: none;
  border: 0;
  border-radius: 10px;
  justify-content: flex-start;
}

.adminRedenimCollapseButton:hover {
  color: var(--sidebar-text);
  background: var(--sidebar-bg-hover);
}

.adminRedenimVersion {
  color: color-mix(in srgb, var(--sidebar-text-muted), transparent 15%);
  padding: 0 10px 1px;
  font-size: 11px;
  line-height: 1.2;
}

.adminRedenimAppColumn {
  background: #fff;
  grid-template-rows: auto minmax(0, 1fr);
  min-width: 0;
  min-height: 100dvh;
  display: grid;
}

.adminRedenimTopbar {
  z-index: 55;
  min-width: 0;
  height: var(--admin-shell-header-height);
  box-sizing: border-box;
  -webkit-backdrop-filter: saturate(140%) blur(10px);
  backdrop-filter: saturate(140%) blur(10px);
  background: #fffffff5;
  border-bottom: 1px solid #e5e7eb;
  position: sticky;
  top: 0;
}

.adminRedenimTopbar:has(.adminRedenimUserMenu[open]) {
  z-index: 260;
}

.adminRedenimTopbarInner {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0 var(--admin-shell-workspace-gutter) 0 var(--admin-shell-content-edge);
  align-items: center;
  gap: 16px;
  display: flex;
}

.adminRedenimMobileMenuButton, .adminRedenimIconButton {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 4%);
  width: 44px;
  min-width: 44px;
  height: 44px;
  color: var(--fg);
  box-shadow: none;
  cursor: pointer;
  background: #fff;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.adminRedenimMobileMenuButton {
  display: none;
}

.adminRedenimIconButton:hover, .adminRedenimMobileMenuButton:hover {
  background: color-mix(in srgb, var(--focus), white 95%);
  border-color: color-mix(in srgb, var(--focus), var(--stroke) 50%);
}

.adminRedenimSearch {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 4%);
  width: min(100%, 500px);
  min-width: 0;
  min-height: 44px;
  color: var(--muted);
  box-shadow: none;
  text-align: left;
  background: #fff;
  border-radius: 10px;
  flex: 0 500px;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 0 8px 0 14px;
  display: grid;
}

.adminRedenimSearch span {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  font-size: 14px;
  overflow: hidden;
}

.adminRedenimSearch kbd {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 5%);
  min-width: 34px;
  min-height: 26px;
  color: color-mix(in srgb, var(--muted), var(--fg) 12%);
  background: color-mix(in srgb, var(--bg-2), white 40%);
  font-family: var(--font-mono);
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  padding: 4px 7px;
  font-size: 11px;
  display: inline-flex;
}

.adminCommandPaletteOverlay {
  z-index: 120;
  background: color-mix(in srgb, var(--fg), transparent 72%);
  justify-content: center;
  align-items: flex-start;
  padding: 72px 18px 24px;
  display: flex;
  position: fixed;
  inset: 0;
}

.adminCommandPalette {
  width: min(680px, 100%);
  max-height: min(720px, 100vh - 96px);
  color: var(--fg);
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 8%);
  box-shadow: 0 20px 60px color-mix(in srgb, var(--fg), transparent 82%),
    0 2px 10px color-mix(in srgb, var(--fg), transparent 92%);
  background: #fff;
  border-radius: 14px;
  grid-template-rows: auto minmax(0, 1fr) auto;
  display: grid;
  overflow: hidden;
}

.adminCommandPaletteSearch {
  border: 1px solid color-mix(in srgb, var(--focus), white 10%);
  min-height: 58px;
  box-shadow: none;
  background: #fff;
  border-radius: 10px;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin: 16px 16px 10px;
  padding: 0 10px 0 14px;
  display: grid;
}

.adminCommandPaletteSearch svg {
  color: color-mix(in srgb, var(--muted), var(--focus) 24%);
}

.adminCommandPaletteSearch input {
  width: 100%;
  min-width: 0;
  color: var(--fg);
  font: inherit;
  background: none;
  border: 0;
  outline: 0;
  font-size: 15px;
}

.adminCommandPaletteSearch input::placeholder {
  color: color-mix(in srgb, var(--muted), var(--fg) 8%);
}

.adminCommandPaletteSearch kbd, .adminCommandPaletteFooter kbd {
  min-width: 30px;
  min-height: 26px;
  color: color-mix(in srgb, var(--muted), var(--fg) 12%);
  background: color-mix(in srgb, var(--bg-2), white 46%);
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 5%);
  font-family: var(--font-mono);
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  padding: 3px 7px;
  font-size: 11px;
  line-height: 1;
  display: inline-flex;
}

.adminCommandPaletteClear {
  width: 32px;
  height: 32px;
  color: var(--muted);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.adminCommandPaletteClear:hover, .adminCommandPaletteClear:focus-visible {
  color: var(--fg);
  background: color-mix(in srgb, var(--focus), white 93%);
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 32%);
  outline-offset: 1px;
}

.adminCommandPaletteResults {
  min-height: 0;
  padding: 0 16px 12px;
  overflow-y: auto;
}

.adminCommandPaletteGroup {
  padding-top: 8px;
}

.adminCommandPaletteGroup + .adminCommandPaletteGroup {
  border-top: 1px solid color-mix(in srgb, var(--stroke), white 12%);
  margin-top: 8px;
  padding-top: 14px;
}

.adminCommandPaletteGroup h2 {
  color: var(--muted);
  font-family: var(--font-mono);
  letter-spacing: 0;
  text-transform: uppercase;
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 700;
}

.adminCommandPaletteGroupList {
  gap: 4px;
  display: grid;
}

.adminCommandPaletteItem {
  width: 100%;
  min-height: 52px;
  color: var(--fg);
  text-align: left;
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 10px;
  grid-template-columns: 34px minmax(0, 1fr) minmax(130px, max-content);
  align-items: center;
  gap: 12px;
  padding: 8px 10px;
  display: grid;
}

.adminCommandPaletteItem:hover, .adminCommandPaletteItem.isActive {
  background: color-mix(in srgb, var(--focus), white 92%);
  border-color: color-mix(in srgb, var(--focus), white 20%);
}

.adminCommandPaletteItem:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 1px;
}

.adminCommandPaletteIcon {
  width: 34px;
  height: 34px;
  color: var(--focus);
  background: color-mix(in srgb, var(--focus), white 92%);
  border-radius: 9px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.adminCommandPaletteItemText {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.adminCommandPaletteItemText span:first-child {
  min-width: 0;
  color: var(--fg);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
  overflow: hidden;
}

.adminCommandPaletteItemText span:last-child, .adminCommandPaletteSection {
  min-width: 0;
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  overflow: hidden;
}

.adminCommandPaletteSection {
  text-align: right;
  justify-self: end;
}

.adminCommandPaletteEmpty {
  color: var(--muted);
  margin: 16px 0 24px;
  font-size: 14px;
}

.adminCommandPaletteFooter {
  border-top: 1px solid color-mix(in srgb, var(--stroke), white 12%);
  min-height: 46px;
  color: var(--muted);
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  padding: 9px 16px 12px;
  font-size: 12px;
  display: flex;
}

.adminCommandPaletteFooter kbd svg {
  width: 12px;
  height: 12px;
}

.adminRedenimTopbarActions {
  flex: none;
  justify-content: flex-end;
  align-items: center;
  gap: 4px;
  min-width: 0;
  margin-left: auto;
  display: inline-flex;
}

.adminRedenimTopbarActions .notificationBellButton {
  border-radius: 10px;
  width: 40px;
  min-width: 40px;
  min-height: 40px;
}

.adminRedenimUserMenu {
  z-index: 64;
  margin-left: 2px;
  position: relative;
}

.adminRedenimUserMenu[open] {
  z-index: 240;
}

.adminRedenimUserMenu summary {
  min-height: 44px;
  color: var(--fg);
  box-shadow: none;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 10px;
  grid-template-columns: 40px minmax(0, auto) 16px;
  align-items: center;
  gap: 10px;
  padding: 2px 8px 2px 2px;
  list-style: none;
  display: inline-grid;
}

.adminRedenimUserMenu summary:hover {
  background: color-mix(in srgb, var(--bg-2), white 52%);
}

.adminRedenimUserMenu summary:focus:not(:focus-visible) {
  box-shadow: none;
  outline: none;
}

.adminRedenimUserMenu summary:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus), transparent 76%);
  outline: none;
}

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

.adminRedenimUserAvatar {
  flex: none;
}

.adminRedenimUserText {
  gap: 1px;
  min-width: 0;
  display: grid;
}

.adminRedenimUserText span:first-child {
  color: var(--fg);
  white-space: nowrap;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
}

.adminRedenimUserText span:last-child {
  color: var(--muted);
  white-space: nowrap;
  font-size: 11px;
  line-height: 1.2;
}

.adminRedenimUserMenuPanel {
  z-index: 1;
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 4%);
  width: 260px;
  box-shadow: 0 16px 36px color-mix(in srgb, var(--fg), transparent 88%);
  background: #fff;
  border-radius: 12px;
  padding: 6px;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
}

.adminRedenimUserMenuPanel a, .adminRedenimUserMenuPanel button {
  width: 100%;
  min-height: 44px;
  color: var(--fg);
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 9px;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  font-weight: 600;
  text-decoration: none;
  display: flex;
}

.adminRedenimUserMenuPanel a:hover, .adminRedenimUserMenuPanel button:hover {
  background: color-mix(in srgb, var(--bg-2), var(--fg) 3%);
}

.adminRedenimUserMenuPanel form {
  margin: 0;
}

.adminRedenimUserMenuSeparator {
  background: color-mix(in srgb, var(--stroke), transparent 12%);
  height: 1px;
  margin: 8px 4px;
}

.adminRedenimUserMenuSectionLabel {
  color: var(--muted);
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 4px 10px 6px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}

.adminRedenimUserLanguageList {
  gap: 2px;
  display: grid;
}

.adminRedenimUserMenuPanel .adminRedenimUserLanguageItem {
  grid-template-columns: 18px 34px minmax(0, 1fr) 18px;
  column-gap: 10px;
  min-height: 44px;
  font-size: 13px;
  line-height: 1.2;
  display: grid;
}

.adminRedenimUserLanguageItem.isCurrent {
  background: color-mix(in srgb, var(--focus), transparent 93%);
}

.adminRedenimUserLanguageFlag {
  object-fit: cover;
  width: 18px;
  height: 12px;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--stroke), transparent 40%);
  border-radius: 2px;
  display: block;
}

.adminRedenimUserLanguageCode {
  color: var(--fg);
  font-size: inherit;
  font-weight: 700;
  line-height: inherit;
}

.adminRedenimUserLanguageName {
  min-width: 0;
  color: var(--muted);
  font-size: inherit;
  font-weight: 500;
  line-height: inherit;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.adminRedenimUserLanguageCheck {
  color: var(--focus);
  justify-self: end;
}

main.content.adminRedenimWorkspace {
  width: 100%;
  min-width: 0;
  max-width: none;
  padding: 28px var(--admin-shell-workspace-gutter) 48px;
  background: #fff;
  margin: 0;
}

.adminRedenimModuleContent, .adminRedenimContentHost, .adminRedenimWorkspace > .adminPage {
  width: 100%;
  max-width: var(--admin-shell-max);
  margin-left: auto;
  margin-right: auto;
}

.adminRedenimContentHost {
  display: contents;
}

.adminRedenimWorkspace > .adminSettingsContent {
  max-width: var(--admin-shell-max);
}

html[data-admin-sidebar-collapsed="1"] .adminRedenimBrand {
  grid-template-columns: 36px;
  justify-content: center;
}

html[data-admin-sidebar-collapsed="1"] .adminRedenimSidebarTop {
  padding-left: 16px;
  padding-right: 16px;
}

html[data-admin-sidebar-collapsed="1"] .adminRedenimSidebarFooter {
  justify-items: center;
  padding-left: 10px;
  padding-right: 10px;
}

html[data-admin-sidebar-collapsed="1"] .adminRedenimBrandText, html[data-admin-sidebar-collapsed="1"] .adminRedenimNavLabel, html[data-admin-sidebar-collapsed="1"] .adminRedenimCollapseButton span, html[data-admin-sidebar-collapsed="1"] .adminRedenimVersion, html[data-admin-sidebar-collapsed="1"] .adminRedenimGroupChevron {
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

html[data-admin-sidebar-collapsed="1"] .adminRedenimGroupButton, html[data-admin-sidebar-collapsed="1"] .adminRedenimNavLink, html[data-admin-sidebar-collapsed="1"] .adminRedenimCollapseButton {
  justify-content: center;
  padding-left: 10px;
  padding-right: 10px;
}

html[data-admin-sidebar-collapsed="1"] .adminRedenimCollapseButton {
  width: 44px;
}

html[data-admin-sidebar-collapsed="1"] .adminRedenimChildList, html[data-admin-sidebar-collapsed="1"] .adminRedenimSettingsSubList {
  padding-left: 0;
}

html[data-admin-sidebar-collapsed="1"] .adminRedenimBadge {
  min-width: 18px;
  min-height: 18px;
  padding: 0 5px;
  font-size: 10px;
  position: absolute;
  top: 4px;
  right: 4px;
}

@media (max-width: 1280px) {
  .adminRedenimShell {
    --admin-shell-workspace-gutter: 24px;
  }
}

@media (max-width: 980px) {
  .adminRedenimShell {
    --admin-redenim-sidebar-w: 264px;
  }

  .adminRedenimTopbarInner {
    gap: 10px;
  }

  .adminRedenimSearch {
    flex: 360px;
  }

  .adminRedenimSearch kbd, .adminRedenimUserText {
    display: none;
  }

  .adminRedenimUserMenu summary {
    grid-template-columns: 40px 16px;
  }
}

@media (max-width: 1040px) {
  .adminRedenimShell, html[data-admin-sidebar-collapsed="1"] .adminRedenimShell {
    --admin-shell-workspace-gutter: 16px;
    --admin-redenim-current-sidebar-w: 0px;
    grid-template-columns: minmax(0, 1fr);
  }

  .adminRedenimSidebarSlot {
    z-index: 90;
    min-height: 100dvh;
    transition: transform .18s;
    position: fixed;
    inset: 0 auto 0 0;
    transform: translateX(-100%);
    width: min(304px, 100vw - 56px) !important;
  }

  .adminRedenimSidebarSlot.isMobileOpen {
    transform: translateX(0);
  }

  .adminRedenimSidebar {
    width: 100%;
    height: 100dvh;
    position: static;
  }

  .adminRedenimMobileScrim {
    z-index: 89;
    opacity: 0;
    pointer-events: none;
    background: #0f172a6b;
    transition: opacity .18s;
    display: block;
    position: fixed;
    inset: 0;
  }

  .adminRedenimMobileScrim.isOpen {
    opacity: 1;
    pointer-events: auto;
  }

  .adminRedenimMobileClose {
    z-index: 91;
    border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 4%);
    width: 44px;
    height: 44px;
    color: var(--fg);
    box-shadow: 0 12px 28px color-mix(in srgb, var(--fg), transparent 84%);
    background: #fff;
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    display: none;
    position: fixed;
    top: 12px;
    right: 12px;
  }

  .adminRedenimMobileClose.isOpen {
    display: inline-flex;
  }

  html[data-admin-sidebar-collapsed="1"] .adminRedenimBrand {
    grid-template-columns: 36px minmax(0, 1fr);
    justify-content: flex-start;
  }

  html[data-admin-sidebar-collapsed="1"] .adminRedenimSidebarFooter {
    justify-items: stretch;
    padding-left: 12px;
    padding-right: 12px;
  }

  html[data-admin-sidebar-collapsed="1"] .adminRedenimBrandText, html[data-admin-sidebar-collapsed="1"] .adminRedenimNavLabel, html[data-admin-sidebar-collapsed="1"] .adminRedenimCollapseButton span, html[data-admin-sidebar-collapsed="1"] .adminRedenimVersion, html[data-admin-sidebar-collapsed="1"] .adminRedenimGroupChevron {
    clip: auto;
    white-space: normal;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    position: static;
    overflow: visible;
  }

  html[data-admin-sidebar-collapsed="1"] .adminRedenimGroupButton, html[data-admin-sidebar-collapsed="1"] .adminRedenimNavLink, html[data-admin-sidebar-collapsed="1"] .adminRedenimCollapseButton {
    justify-content: flex-start;
    padding-left: 12px;
    padding-right: 12px;
  }

  html[data-admin-sidebar-collapsed="1"] .adminRedenimRollupBadge {
    min-width: 22px;
    min-height: 22px;
    padding: 0 7px;
    font-size: 11px;
    position: static;
  }

  html[data-admin-sidebar-collapsed="1"] .adminRedenimCollapseButton {
    width: 100%;
  }

  .adminRedenimCollapseButton {
    display: none;
  }

  .adminRedenimSidebarFooter {
    gap: 0;
  }

  html[data-admin-sidebar-collapsed="1"] .adminRedenimChildList {
    padding-left: 10px;
  }

  html[data-admin-sidebar-collapsed="1"] .adminRedenimSettingsSubList {
    padding-left: 8px;
  }

  .adminRedenimMobileMenuButton {
    display: inline-flex;
  }

  .adminRedenimTopbarInner {
    padding: 0 var(--admin-shell-workspace-gutter);
  }

  .adminRedenimTopbarActions {
    gap: 6px;
  }

  .adminRedenimIconButton {
    display: none;
  }

  main.content.adminRedenimWorkspace {
    padding: 20px var(--admin-shell-workspace-gutter) 36px;
  }
}

@media (max-width: 520px) {
  .adminRedenimSearch {
    display: none;
  }

  .adminCommandPaletteOverlay {
    padding: 86px 10px 14px;
  }

  .adminCommandPalette {
    border-radius: 12px;
    max-height: calc(100vh - 100px);
  }

  .adminCommandPaletteSearch {
    min-height: 54px;
    margin: 12px 12px 8px;
  }

  .adminCommandPaletteResults {
    padding: 0 12px 10px;
  }

  .adminCommandPaletteItem {
    grid-template-columns: 38px minmax(0, 1fr) 18px;
    gap: 10px;
    min-height: 64px;
  }

  .adminCommandPaletteSection {
    color: #0000;
    width: 18px;
    height: 18px;
    position: relative;
    overflow: hidden;
  }

  .adminCommandPaletteSection:after {
    content: ">";
    color: var(--fg);
    justify-content: center;
    align-items: center;
    font-size: 24px;
    line-height: 1;
    display: inline-flex;
    position: absolute;
    inset: 0;
  }

  .adminCommandPaletteFooter {
    justify-content: center;
  }
}

.notificationBell {
  z-index: 62;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  position: relative;
}

.notificationBellButton {
  width: 40px;
  min-width: 40px;
  min-height: 40px;
  color: var(--fg);
  box-shadow: none;
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: inline-flex;
  position: relative;
}

.notificationBellButton:hover {
  background: color-mix(in srgb, var(--bg-2), white 34%);
  border-color: #0000;
}

.notificationBellButton:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus), transparent 74%);
  outline: none;
}

.notificationBellButton svg {
  width: 20px;
  height: 20px;
}

.notificationBellBadge {
  background: var(--danger);
  color: #fff;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  display: inline-flex;
  position: absolute;
  top: -4px;
  right: -4px;
  box-shadow: 0 0 0 2px #fff;
}

.notificationBellPanel {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 8%);
  width: min(520px, 100vw - 24px);
  max-height: min(640px, 100dvh - 110px);
  color: var(--fg);
  box-shadow: 0 18px 34px color-mix(in srgb, var(--fg), transparent 88%);
  background: #fff;
  border-radius: 10px;
  grid-template-rows: auto minmax(0, 1fr) auto;
  display: grid;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  overflow: hidden;
}

.notificationBellPanel.notificationBellPanel_empty {
  grid-template-rows: auto auto auto;
  width: min(360px, 100vw - 24px);
}

.notificationBellHeader {
  border-bottom: 1px solid var(--stroke);
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  display: grid;
}

.notificationBellHeading {
  min-width: 0;
  font-weight: 800;
}

.notificationBellHeadingBlock {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.notificationBellTitleRow {
  align-items: center;
  gap: 0;
  min-width: 0;
  display: inline-flex;
}

.notificationBellSubheading {
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.notificationBellHeaderActions {
  justify-content: flex-end;
  align-items: center;
  gap: 4px;
  display: inline-flex;
}

.notificationBellSettings {
  width: 44px;
  min-height: 44px;
  color: var(--focus);
  background: none;
  border: 0;
  border-radius: 8px;
  flex: none;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  display: inline-flex;
}

.notificationBellSettings:hover {
  color: color-mix(in srgb, var(--focus), var(--fg) 20%);
  background: none;
}

.notificationBellSettings:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus), transparent 78%);
  outline: none;
}

.notificationBellSettings svg {
  width: 22px;
  height: 22px;
}

.notificationBellMarkAll {
  border: 1px solid color-mix(in srgb, var(--focus), white 62%);
  min-height: 44px;
  color: var(--focus);
  cursor: pointer;
  background: #fff;
  border-radius: 8px;
  padding: 8px 12px;
  font-weight: 700;
}

.notificationBellMarkAll:disabled {
  cursor: default;
  color: var(--muted);
  background: color-mix(in srgb, var(--bg-2), white 20%);
}

.notificationBellError, .notificationBellEmpty {
  color: var(--muted);
  padding: 16px;
  font-size: 13px;
}

.notificationBellEmpty {
  align-items: center;
  min-height: 56px;
  display: flex;
}

.notificationBellError {
  color: var(--danger);
  border-bottom: 1px solid color-mix(in srgb, var(--danger), white 82%);
}

.notificationBellList {
  align-content: start;
  min-height: 0;
  max-height: none;
  display: grid;
  overflow-y: auto;
}

.notificationBellPanel.notificationBellPanel_empty .notificationBellList {
  overflow-y: visible;
}

.notificationBellItem {
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--stroke), white 20%);
  width: 100%;
  min-height: 120px;
  color: var(--fg);
  text-align: left;
  cursor: pointer;
  background: #fff;
  border-radius: 0;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 0;
  padding: 14px;
  display: grid;
}

.notificationBellItem:first-child {
  border-top: 0;
}

.notificationBellItem:not(:disabled):hover {
  background: color-mix(in srgb, var(--accent), white 94%);
}

.notificationBellItem:disabled {
  cursor: default;
  opacity: 1;
}

.notificationBellItemUnread {
  background: color-mix(in srgb, var(--focus), white 96%);
}

.notificationBellItem_action {
  border-left: 3px solid color-mix(in srgb, var(--focus), white 18%);
}

.notificationBellItem_warning {
  border-left: 3px solid #d97706;
}

.notificationBellItem_critical {
  border-left: 3px solid var(--danger);
}

.notificationBellItemLinked:not(:disabled):hover .notificationBellItemTitle {
  color: var(--focus);
  text-underline-offset: 2px;
  text-decoration: underline;
}

.notificationBellItemContent {
  align-content: start;
  gap: 7px;
  min-width: 0;
  display: grid;
}

.notificationBellItemMeta {
  color: var(--muted);
  letter-spacing: 0;
  text-transform: uppercase;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 800;
  display: grid;
}

.notificationBellItemSeverity, .notificationBellItemFlag, .notificationBellItemAction {
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 24px;
  padding: 4px 7px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  display: inline-flex;
}

.notificationBellItemSeverity {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 8%);
  background: color-mix(in srgb, var(--bg-2), white 35%);
  color: var(--muted);
}

.notificationBellItemSeverity[data-severity="ACTION"] {
  border-color: color-mix(in srgb, var(--focus), white 58%);
  background: color-mix(in srgb, var(--focus), white 92%);
  color: var(--focus);
}

.notificationBellItemSeverity[data-severity="WARNING"] {
  color: #92400e;
  background: #fbf1e6;
  border-color: #efc696;
}

.notificationBellItemSeverity[data-severity="CRITICAL"] {
  border-color: color-mix(in srgb, var(--danger), white 58%);
  background: color-mix(in srgb, var(--danger), white 90%);
  color: var(--danger);
}

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

.notificationBellItemTime {
  white-space: nowrap;
}

.notificationBellItemTitle, .notificationBellItemBody, .notificationBellItemAction, .notificationBellItemFooter, .notificationBellItemFlag {
  overflow-wrap: anywhere;
  min-width: 0;
}

.notificationBellItemTitle {
  font-weight: 800;
}

.notificationBellItemBody {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.notificationBellItemAction {
  border: 1px solid color-mix(in srgb, var(--focus), white 62%);
  color: var(--focus);
  background: #fff;
  margin-left: auto;
}

.notificationBellItemFooter {
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 6px 8px;
  padding-top: 2px;
  display: flex;
}

.notificationBellItemFlag {
  border: 1px solid color-mix(in srgb, var(--accent), white 58%);
  background: color-mix(in srgb, var(--accent), white 90%);
  color: color-mix(in srgb, var(--accent), #111 28%);
}

.notificationBellItemFlag, .notificationBellItemAction {
  white-space: nowrap;
}

.notificationBellViewAll {
  border-top: 1px solid var(--stroke);
  min-height: 52px;
  color: var(--focus);
  justify-content: center;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  display: flex;
}

.notificationBellViewAll:hover {
  background: color-mix(in srgb, var(--focus), white 94%);
  text-underline-offset: 2px;
  text-decoration: underline;
}

.notificationBellViewAll:focus-visible {
  box-shadow: inset 0 0 0 3px color-mix(in srgb, var(--focus), transparent 76%);
  outline: none;
}

.notificationCenterPage, .notificationSettingsPage {
  gap: 16px;
  display: grid;
}

.adminNotificationCenterCard {
  overflow: hidden;
}

.notificationPageTitleRow {
  align-items: center;
  gap: 0;
  min-width: 0;
  display: inline-flex;
}

.notificationPageTitleRow h1 {
  min-width: 0;
}

.notificationPageSettingsLink {
  width: 44px;
  min-height: 44px;
  color: var(--focus);
  background: none;
  border: 0;
  border-radius: 8px;
  flex: none;
  justify-content: center;
  align-items: center;
  padding: 0;
  text-decoration: none;
  display: inline-flex;
}

.notificationPageSettingsLink:hover {
  color: color-mix(in srgb, var(--focus), var(--fg) 20%);
  background: none;
}

.notificationPageSettingsLink:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus), transparent 78%);
  outline: none;
}

.notificationPageSettingsLink svg {
  width: 22px;
  height: 22px;
}

.notificationCenterCardBody, .notificationCenter {
  gap: 14px;
  display: grid;
}

.notificationCenterStatusText {
  min-width: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
}

.notificationCenterMarkAll {
  min-height: 44px;
}

.notificationCenterFilters {
  border: 1px solid var(--stroke);
  background: color-mix(in srgb, var(--bg-2), white 28%);
  border-radius: 10px;
  grid-template-columns: auto minmax(150px, 1fr) minmax(140px, .85fr) auto;
  align-items: end;
  gap: 10px;
  padding: 12px;
  display: grid;
}

.notificationCenterReadTabs {
  border: 1px solid var(--stroke);
  background: #fff;
  border-radius: 10px;
  grid-template-columns: repeat(3, minmax(0, auto));
  gap: 4px;
  padding: 3px;
  display: inline-grid;
}

.notificationCenterReadTab {
  min-height: 38px;
  color: var(--muted);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 8px;
  padding: 7px 10px;
  font-weight: 800;
}

.notificationCenterReadTab.isActive {
  background: color-mix(in srgb, var(--focus), white 90%);
  color: var(--focus);
}

.notificationCenterReadTab:focus-visible, .notificationCenterFilterField select:focus-visible, .notificationCenterActionToggle:focus-within, .notificationCenterItem:focus-visible, .notificationCenterLoadMore:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus), transparent 76%);
  outline: none;
}

.notificationCenterFilterField {
  min-width: 0;
  color: var(--muted);
  text-transform: uppercase;
  gap: 5px;
  font-size: 11px;
  font-weight: 850;
  display: grid;
}

.notificationCenterFilterField select {
  border: 1px solid var(--stroke);
  min-width: 0;
  min-height: 44px;
  color: var(--fg);
  font-family: var(--font-sans);
  text-transform: none;
  background: #fff;
  border-radius: 10px;
  padding: 8px 10px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
}

.notificationCenterActionToggle {
  border: 1px solid var(--stroke);
  min-height: 44px;
  color: var(--fg);
  background: #fff;
  border-radius: 10px;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  font-size: 13px;
  font-weight: 800;
  display: inline-flex;
}

.notificationCenterActionToggle input {
  width: 18px;
  height: 18px;
  accent-color: var(--focus);
}

.notificationCenterError, .notificationCenterEmpty {
  border: 1px solid var(--stroke);
  color: var(--muted);
  border-radius: 10px;
  padding: 14px;
}

.notificationCenterError {
  border-color: color-mix(in srgb, var(--danger), white 62%);
  color: var(--danger);
}

.notificationCenterList {
  border: 1px solid var(--stroke);
  background: #fff;
  border-radius: 10px;
  display: grid;
  overflow: hidden;
}

.notificationCenterItem {
  border: 0;
  border-top: 1px solid var(--stroke);
  width: 100%;
  min-height: 112px;
  color: var(--fg);
  text-align: left;
  cursor: pointer;
  background: #fff;
  grid-template-columns: minmax(0, 1fr);
  padding: 14px;
  display: grid;
}

.notificationCenterItem:first-child {
  border-top: 0;
}

.notificationCenterItem:not(:disabled):hover {
  background: color-mix(in srgb, var(--accent), white 95%);
}

.notificationCenterItemUnread {
  background: color-mix(in srgb, var(--focus), white 96%);
}

.notificationCenterItem_action {
  border-left: 4px solid color-mix(in srgb, var(--focus), white 18%);
}

.notificationCenterItem_warning {
  border-left: 4px solid #d97706;
}

.notificationCenterItem_critical {
  border-left: 4px solid var(--danger);
}

.notificationCenterItemLinked:not(:disabled):hover .notificationCenterItemTitle {
  color: var(--focus);
  text-underline-offset: 2px;
  text-decoration: underline;
}

.notificationCenterItemContent {
  gap: 7px;
  min-width: 0;
  display: grid;
}

.notificationCenterItemMeta {
  min-width: 0;
  color: var(--muted);
  letter-spacing: 0;
  text-transform: uppercase;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 850;
  display: grid;
}

.notificationCenterItemSeverity, .notificationCenterItemFlag, .notificationCenterItemAction {
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 26px;
  padding: 5px 8px;
  font-size: 11px;
  font-weight: 850;
  line-height: 1;
  display: inline-flex;
}

.notificationCenterItemSeverity {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 8%);
  background: color-mix(in srgb, var(--bg-2), white 35%);
  color: var(--muted);
}

.notificationCenterItemSeverity[data-severity="ACTION"] {
  border-color: color-mix(in srgb, var(--focus), white 58%);
  background: color-mix(in srgb, var(--focus), white 92%);
  color: var(--focus);
}

.notificationCenterItemSeverity[data-severity="WARNING"] {
  color: #92400e;
  background: #fbf1e6;
  border-color: #efc696;
}

.notificationCenterItemSeverity[data-severity="CRITICAL"] {
  border-color: color-mix(in srgb, var(--danger), white 58%);
  background: color-mix(in srgb, var(--danger), white 90%);
  color: var(--danger);
}

.notificationCenterItemCategory, .notificationCenterItemTitle, .notificationCenterItemBody, .notificationCenterItemFooter, .notificationCenterItemFlag, .notificationCenterItemAction {
  overflow-wrap: anywhere;
  min-width: 0;
}

.notificationCenterItemCategory {
  color: var(--muted);
}

.notificationCenterItemTime {
  white-space: nowrap;
  justify-self: end;
}

.notificationCenterItemTitle {
  font-weight: 850;
}

.notificationCenterItemBody {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.notificationCenterItemFooter {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.notificationCenterItemFlag {
  border: 1px solid color-mix(in srgb, var(--accent), white 58%);
  background: color-mix(in srgb, var(--accent), white 90%);
  color: color-mix(in srgb, var(--accent), #111 28%);
}

.notificationCenterItemAction {
  border: 1px solid color-mix(in srgb, var(--focus), white 62%);
  color: var(--focus);
  background: #fff;
  margin-left: auto;
}

.notificationCenterLoadMoreRow {
  justify-content: center;
  display: flex;
}

.notificationCenterLoadMore {
  min-width: 160px;
  min-height: 44px;
}

@media (max-width: 720px) {
  .notificationCenterFilterField select {
    font-size: 16px;
  }

  .notificationCenterFilters {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  .notificationCenterMarkAll, .notificationCenterLoadMore {
    width: 100%;
  }

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

  .notificationCenterReadTab {
    padding: 7px 6px;
  }

  .notificationCenterItem {
    min-height: 104px;
    padding: 12px;
  }

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

  .notificationCenterItemTime {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

.adminLoginMain {
  background: radial-gradient(circle at 88% 14%, color-mix(in srgb, var(--focus), transparent 93%), transparent 32%),
    linear-gradient(145deg, color-mix(in srgb, var(--bg-2), white 55%), var(--bg) 62%);
  place-items: center;
  max-width: none;
  min-height: 100dvh;
  padding: clamp(24px, 5vw, 64px);
  display: grid;
}

.adminLoginShell {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 7%);
  background: var(--bg);
  width: min(960px, 100%);
  min-height: 560px;
  box-shadow: 0 24px 70px color-mix(in srgb, var(--fg), transparent 88%);
  border-radius: 16px;
  grid-template-columns: minmax(300px, .82fr) minmax(440px, 1.18fr);
  display: grid;
  overflow: hidden;
}

.adminLoginBrandPanel {
  color: #f8fafc;
  background: linear-gradient(#ffffff0a 1px, transparent 1px),
    linear-gradient(90deg, #ffffff0a 1px, transparent 1px),
    linear-gradient(160deg, color-mix(in srgb, #30465e, var(--focus) 8%), #24384f 64%, #1f3044);
  background-size: 32px 32px, 32px 32px, auto;
  align-content: space-between;
  gap: 40px;
  min-width: 0;
  padding: 46px 40px 34px;
  display: grid;
}

.adminLoginBrandContent {
  align-content: start;
  justify-items: start;
  gap: 0;
  display: grid;
}

.adminLoginBrandLogoFrame {
  background: #fff;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  min-height: 50px;
  margin-bottom: 34px;
  padding: 9px 12px;
  display: inline-flex;
  box-shadow: 0 8px 24px #0f172a29;
}

.adminLoginBrandLogo {
  width: auto;
  height: 28px !important;
}

.adminLoginBrandName {
  color: #cbd5e1;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}

.adminLoginTitle {
  color: #fff;
  letter-spacing: -.035em;
  max-width: 9ch;
  margin: 0;
  font-size: clamp(32px, 3.1vw, 42px);
  line-height: 1.03;
}

.adminLoginSubtitle {
  color: #cbd5e1;
  max-width: 31ch;
  margin: 18px 0 0;
  font-size: 15px;
  line-height: 1.55;
}

.adminLoginAccessPanel {
  background: var(--bg);
  align-content: start;
  min-width: 0;
  padding: 48px 52px 40px;
  display: grid;
}

.adminLoginAccessHeader {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 24px;
  display: grid;
}

.adminLoginAccessHeader .localeSwitcher {
  justify-self: end;
}

.adminLoginAccessTitle {
  letter-spacing: -.025em;
  margin: 0;
  font-size: 30px;
  line-height: 1.08;
}

.adminLoginAccessHint {
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 1.45;
}

.adminLoginRouteHint {
  margin: 22px 0 26px;
  font-size: 14px;
  line-height: 1.45;
}

.adminLoginQuietLink {
  color: var(--focus);
  text-decoration: none;
}

.adminLoginQuietLink:hover, .adminLoginQuietLink:focus-visible {
  text-decoration: underline;
}

.adminLoginSubmitRow {
  margin-top: 14px;
}

.adminLoginSubmitRow .btn {
  width: 100%;
}

.adminLoginHelpRow {
  margin-top: 10px;
  font-size: 14px;
}

.adminLoginBuildVersion {
  color: #aab8c7;
  align-self: end;
  font-size: 11px;
  line-height: 1.2;
}

.adminLoginMfaPanel {
  gap: 18px;
  margin-top: 30px;
  display: grid;
}

.adminLoginMfaTitle {
  margin: 0 0 6px;
  font-size: 28px;
  line-height: 1.1;
}

.adminLoginMfaHint {
  margin: 0;
}

.adminLoginRecoveryButton {
  width: 100%;
  margin-top: 10px;
}

.adminLoginMfaPanel > .btnSuccess {
  width: 100%;
}

@media (max-width: 900px) {
  .adminLoginMain {
    padding: 24px;
  }

  .adminLoginShell {
    grid-template-columns: minmax(0, 1fr);
    width: min(640px, 100%);
    min-height: 0;
  }

  .adminLoginBrandPanel {
    gap: 26px;
    padding: 30px 34px 26px;
  }

  .adminLoginBrandLogoFrame {
    min-height: 46px;
    margin-bottom: 24px;
  }

  .adminLoginTitle {
    max-width: none;
    font-size: 34px;
  }

  .adminLoginSubtitle {
    max-width: 42ch;
    margin-top: 12px;
  }

  .adminLoginAccessPanel {
    padding: 34px;
  }
}

.passwordInputControl {
  gap: 4px;
  display: grid;
}

.passwordInputWrap {
  position: relative;
}

.passwordInputField {
  padding-right: 44px !important;
}

.passwordInputField::-ms-reveal {
  display: none;
}

.passwordInputField::-ms-clear {
  display: none;
}

.passwordToggleBtn {
  border-radius: var(--radius);
  width: 30px;
  height: 30px;
  color: color-mix(in srgb, var(--fg), black 8%);
  cursor: pointer;
  background: none;
  border: 0;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: inline-flex;
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
}

.passwordToggleBtn:hover {
  background: color-mix(in srgb, var(--fg), transparent 92%);
}

.passwordToggleBtn:focus-visible {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), transparent 65%);
  outline: none;
}

.passwordToggleIcon {
  width: 20px;
  height: 20px;
  display: block;
}

.passwordCapsSlot {
  align-items: center;
  min-height: 18px;
  display: flex;
}

.passwordCapsMessage {
  color: var(--muted);
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 13px;
  line-height: 1.25;
  display: inline-flex;
}

.passwordCapsInfoIcon {
  width: 18px;
  height: 18px;
  display: block;
}

.adminPage, .adminModuleBody {
  gap: 12px;
  display: grid;
}

.adminPage > *, .adminModuleBody > * {
  min-width: 0;
}

.adminSettingsContent {
  min-width: 0;
  padding-left: 0;
}

@media (max-width: 1600px) {
  :root {
    --admin-shell-gutter: 20px;
    --admin-sidebar-w: 292px;
    --admin-shell-gap: 14px;
  }
}

@media (max-width: 1280px) {
  :root {
    --admin-shell-gutter: 16px;
    --admin-sidebar-w: 272px;
    --admin-shell-gap: 12px;
  }
}

.adminSettingsPage {
  min-width: 0;
}

.adminPageHeaderPlain {
  padding: 4px 0 2px;
}

.adminSettingsPage > .card:first-child:has( > .adminHeaderBody) {
  box-shadow: none;
  background: none;
  border: 0;
}

.adminSettingsPage > .card:first-child:has( > .adminHeaderBody) > .adminHeaderBody {
  padding: 4px 0 2px;
}

.adminSettingsPageContentSplit {
  width: 100%;
  min-width: 0;
  margin-right: auto;
}

.adminSettingsBody {
  gap: 12px;
  display: grid;
}

.adminSettingsEditorCard {
  box-shadow: none;
}

.adminSettingsPage > .card.adminSettingsEditorCard, .adminSettingsEditorCardFlat {
  box-shadow: none;
  background: none;
  border: 0;
}

.adminSettingsEditorBody {
  gap: 12px;
  display: grid;
}

.adminSettingsPage > .card.adminSettingsEditorCard > .adminSettingsEditorBody, .adminSettingsEditorBodyFlat {
  padding: 0;
}

:is(.adminSettingsBrowsePage > .card:has( > .adminListCardBody), .adminSettingsBrowsePage > .card:has( > .adminSettingsHistoryBody), .adminSettingsBrowsePage > .card:has( > .adminSettingsSnapshotBody), .adminOperationsBrowsePage > .card:has( > .adminListCardBody)) {
  box-shadow: none;
  background: none;
  border: 0;
}

:is(.adminSettingsBrowsePage > .card:has( > .adminListCardBody) > .adminListCardBody, .adminOperationsBrowsePage > .card:has( > .adminListCardBody) > .adminListCardBody) {
  padding: 0;
}

.adminSettingsCategory {
  gap: 14px;
  display: grid;
}

.adminSettingsCategory + .adminSettingsCategory {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  padding-top: 18px;
}

.adminAuthSecurityPage .adminSettingsEditorCard, .adminAuthSecurityPage .adminPasskeyCard {
  max-width: none;
}

.adminAuthSecurityPage .adminSettingsEditorBody, .adminAuthSecurityPage .adminPasskeyBody {
  gap: 14px;
}

.adminAuthSecurityPage .adminTemplateForm {
  gap: 0;
}

.adminAuthSecurityPage .adminTemplateForm .adminSettingsCategory {
  gap: 12px;
  padding-bottom: 16px;
}

.adminAuthSecurityPage .adminTemplateForm .adminSettingsCategory + .adminSettingsCategory {
  padding-top: 16px;
}

.adminAuthSecurityPage .adminTemplateForm .adminSettingsCategory:last-child {
  padding-bottom: 0;
}

.adminAuthSecurityPage .adminTemplateForm .adminSettingsChecklistTitle {
  font-size: 15px;
  line-height: 1.25;
}

.adminAuthSecurityPage .adminTemplateFieldsGrid {
  gap: 12px;
}

.adminAuthSecurityPage .adminTemplateField:not(.adminTemplateFieldFull) {
  max-width: 560px;
}

.adminAuthSecurityPage .adminTemplateField:not(.adminTemplateFieldFull) > .input {
  max-width: 420px;
}

.adminAuthSecurityPage .adminBooleanFieldLabel, .adminAuthSecurityPage .adminChoiceFieldLabel {
  font-size: 14px;
  font-weight: 600;
}

.adminAuthSecurityPage .adminChoiceFieldOption.isChecked .adminChoiceFieldLabel {
  font-weight: 700;
}

.adminAuthSecurityPage .adminChoiceFieldOption.isDisabled {
  color: color-mix(in srgb, var(--muted), var(--fg) 10%);
}

.adminAuthSecurityPage .adminChoiceFieldGroup {
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 22px;
  display: flex;
}

.adminAuthSecurityPage .adminChoiceFieldOption {
  min-height: 30px;
}

.adminAuthSecurityPage .adminSettingsFormFooter {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 4px;
  padding-top: 14px;
  display: flex;
}

.adminAuthSecurityPage .adminSettingsFormActions {
  margin-left: auto;
}

.adminAuthSecurityPage .adminSettingsFormMeta {
  text-align: left;
  order: -1;
}

.adminPiiVisibilityPage .adminSettingsEditorCard {
  max-width: none;
}

.adminPiiVisibilityPage .adminTemplateForm .adminSettingsCategory {
  gap: 10px;
}

.adminPiiVisibilityPage .adminTemplateFieldsGrid {
  gap: 16px 28px;
}

.adminPiiVisibilityPage .adminTemplateBooleanField {
  padding-bottom: 4px;
}

.adminPiiVisibilityPage .adminBooleanFieldHint {
  max-width: 420px;
}

.adminNotificationPolicyPage {
  width: 100%;
  margin-right: auto;
}

.adminNotificationPolicyShell {
  gap: 16px;
  display: grid;
}

.adminNotificationPolicySummary {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  border-radius: var(--radius);
  background: var(--surface);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  display: grid;
  overflow: hidden;
}

.adminNotificationPolicySummaryItem {
  border-right: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  align-content: center;
  gap: 3px;
  min-width: 0;
  min-height: 76px;
  padding: 12px 14px;
  display: grid;
}

.adminNotificationPolicySummaryItem:last-child {
  border-right: 0;
}

.adminNotificationPolicySummaryItem span {
  color: var(--muted);
  letter-spacing: .02em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.2;
}

.adminNotificationPolicySummaryItem strong {
  overflow-wrap: anywhere;
  min-width: 0;
  color: var(--fg);
  font-size: 15px;
  line-height: 1.25;
}

.adminNotificationPolicySummaryItem small {
  overflow-wrap: anywhere;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
}

.adminNotificationPolicyIntro {
  justify-content: space-between;
  align-items: start;
  gap: 16px;
  padding-bottom: 4px;
  display: flex;
}

.adminNotificationPolicyIntro .eyebrow {
  margin-bottom: 4px;
}

.adminNotificationPolicyStatusPill {
  white-space: nowrap;
}

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

.adminNotificationPolicySection {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  border-radius: var(--radius);
  background: var(--surface);
  display: grid;
  overflow: hidden;
}

.adminNotificationPolicySection.isEditing {
  border-color: color-mix(in srgb, var(--focus), transparent 52%);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--focus), transparent 84%);
}

.adminNotificationPolicySectionHeader {
  grid-template-columns: 40px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  display: grid;
}

.adminNotificationPolicySectionIcon {
  background: color-mix(in srgb, var(--focus), white 91%);
  width: 40px;
  height: 40px;
  color: color-mix(in srgb, var(--focus), black 4%);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.adminNotificationPolicySectionTitle {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.adminNotificationPolicySectionTitle .adminSettingsChecklistTitle {
  margin: 0;
}

.adminNotificationPolicySectionStatus {
  text-overflow: ellipsis;
  white-space: nowrap;
  justify-content: center;
  min-width: 0;
  max-width: 220px;
  overflow: hidden;
}

.adminNotificationPolicySectionActions {
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminNotificationPolicySectionActions .btn {
  min-height: 38px;
  padding: 8px 13px;
}

.adminNotificationPolicyEditButton {
  color: var(--focus);
}

.adminNotificationPolicySectionBody {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  background: var(--bg-2);
  gap: 14px;
  padding: 16px;
  display: grid;
}

.adminNotificationPolicySection.isEditing .adminNotificationPolicySectionBody {
  background: var(--surface);
}

.adminNotificationPolicyPreview {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px 16px;
  display: grid;
}

.adminNotificationPolicyPreviewItem {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.adminNotificationPolicyPreviewItem span {
  color: var(--muted);
  letter-spacing: .02em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.2;
}

.adminNotificationPolicyPreviewItem strong {
  overflow-wrap: anywhere;
  min-width: 0;
  color: var(--fg);
  font-size: 14px;
  line-height: 1.25;
}

.adminNotificationPolicyPreviewItem small {
  overflow-wrap: anywhere;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.adminNotificationPolicyFieldGrid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
  display: grid;
}

.adminNotificationPolicyField {
  min-width: 0;
}

.adminNotificationPolicyField .input, .adminNotificationTimeGrid .input {
  min-height: 44px;
}

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

.adminNotificationPolicySwitch, .adminNotificationCriticalOption {
  cursor: pointer;
  min-width: 0;
  min-height: 48px;
}

.adminNotificationPolicySwitch {
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  padding: 10px 0;
  display: grid;
}

.adminNotificationPolicySwitch input, .adminNotificationCriticalOption input {
  width: 20px;
  height: 20px;
  margin: 2px 0 0;
}

.adminNotificationPolicySwitchText, .adminNotificationCriticalOption span {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.adminNotificationPolicySwitchText strong, .adminNotificationCriticalOption strong {
  font-size: 15px;
  line-height: 1.25;
}

.adminNotificationPolicySwitchText small, .adminNotificationCriticalOption small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.adminNotificationPolicySwitch:focus-within, .adminNotificationCriticalOption:focus-within {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), transparent 28%);
  border-radius: var(--radius);
  outline: none;
}

.adminNotificationRuntimeGrid {
  grid-template-columns: minmax(0, 1fr) minmax(260px, .55fr);
  align-items: center;
  gap: 16px;
  display: grid;
}

.adminNotificationRuntimeStatus {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: var(--radius);
  background: var(--surface);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 9px 11px;
  display: flex;
}

.adminNotificationRuntimeStatus span {
  min-width: 0;
  font-weight: 800;
  line-height: 1.25;
}

.adminNotificationRuntimeStatus a {
  min-height: 44px;
  color: var(--focus);
  flex: none;
  align-items: center;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  display: inline-flex;
}

.adminNotificationRuntimeStatus a:hover {
  text-decoration: underline;
}

.adminNotificationRuntimeStatus_ready {
  border-color: color-mix(in srgb, var(--success), transparent 48%);
  background: color-mix(in srgb, var(--success), white 93%);
}

.adminNotificationRuntimeStatus_not-ready, .adminNotificationRuntimeStatus_error {
  border-color: color-mix(in srgb, var(--warning), transparent 42%);
  background: color-mix(in srgb, var(--warning), white 90%);
}

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

.adminNotificationWindowPanel {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-radius: var(--radius);
  background: var(--surface);
  gap: 12px;
  min-width: 0;
  padding: 12px;
  display: grid;
}

.adminNotificationWindowPanel legend {
  padding: 0 5px;
  font-size: 15px;
  font-weight: 800;
}

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

.adminNotificationTimeGrid label {
  gap: 6px;
  min-width: 0;
  display: grid;
}

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

.adminNotificationTimezoneControl {
  grid-column: 1 / -1;
}

.adminNotificationCriticalToolbar {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

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

.adminNotificationCriticalOption {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  border-radius: var(--radius);
  background: var(--surface);
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: start;
  gap: 11px;
  padding: 10px;
  display: grid;
}

.adminNotificationCriticalOption.isChecked {
  border-color: color-mix(in srgb, var(--focus), transparent 38%);
  background: color-mix(in srgb, var(--focus), white 94%);
}

.adminNotificationPolicyFooter {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  justify-content: flex-end;
  padding-top: 12px;
  display: flex;
}

@media (max-width: 920px) {
  .adminNotificationPolicySummary, .adminNotificationPolicyFieldGrid, .adminNotificationPolicyToggleGrid, .adminNotificationRuntimeGrid, .adminNotificationWindowGrid, .adminNotificationScheduleSwitches, .adminNotificationCriticalGrid {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminNotificationPolicySummaryItem {
    border-right: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  }

  .adminNotificationPolicySummaryItem:last-child {
    border-bottom: 0;
  }

  .adminNotificationRuntimeStatus {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  .adminNotificationPolicyIntro {
    align-items: stretch;
    display: grid;
  }

  .adminNotificationPolicySectionHeader {
    grid-template-columns: 40px minmax(0, 1fr);
    align-items: start;
    padding: 14px;
  }

  .adminNotificationPolicySectionStatus {
    grid-column: 2;
    justify-self: start;
    max-width: 100%;
  }

  .adminNotificationPolicySectionActions {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr);
    justify-content: stretch;
    display: grid;
  }

  .adminNotificationPolicySection.isEditing .adminNotificationPolicySectionActions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .adminNotificationPolicySectionActions .btn {
    justify-content: center;
    width: 100%;
    min-height: 44px;
  }

  .adminNotificationPolicySectionBody {
    padding: 14px;
  }

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

  .adminNotificationCriticalToolbar .btn, .adminNotificationCriticalToolbar .pill {
    justify-content: center;
    width: 100%;
  }

  .adminNotificationPolicyFooter {
    justify-content: flex-start;
  }
}

.adminPasskeyCard {
  margin-top: 8px;
}

.adminPasskeyBody {
  gap: 16px;
}

.adminPasskeyHeader, .adminPasskeyEnrollRow, .adminPasskeyItem, .adminPasskeyRecoveryActions {
  align-items: center;
  gap: 12px;
  min-width: 0;
  display: flex;
}

.adminPasskeyHeader, .adminPasskeyItem {
  justify-content: space-between;
}

.adminPasskeyHeader > div, .adminPasskeyItemMain, .adminPasskeyLabelField {
  min-width: 0;
}

.adminPasskeyEnrollRow {
  flex-wrap: wrap;
  align-items: end;
}

.adminPasskeyLabelField {
  flex: 280px;
}

.adminPasskeyList {
  gap: 8px;
  display: grid;
}

.adminPasskeyItem {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 20%);
  min-height: 58px;
  padding: 7px 0;
}

.adminPasskeyItemMain {
  gap: 4px;
  display: grid;
}

.adminPasskeyItemMain strong {
  overflow-wrap: anywhere;
}

.adminPasskeyRecovery {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  gap: 12px;
  padding-top: 14px;
  display: grid;
}

.adminPasskeyRecovery h3 {
  margin: 0;
  font-size: 16px;
}

.adminPasskeyRecoveryActions {
  flex-wrap: wrap;
}

.adminPasskeyRecoveryCodes {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 52%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--focus), white 94%);
  gap: 8px;
  padding: 12px;
  display: grid;
}

.adminPasskeyRecoveryCodes p {
  margin: 0;
  font-weight: 700;
}

.adminPasskeyRecoveryCodes pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-family: var(--font-mono);
  margin: 0;
  line-height: 1.55;
}

.adminAuthSecurityPage .adminPasskeyRecovery {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.adminAuthSecurityPage .adminPasskeyRecoveryCodes {
  grid-column: 1 / -1;
}

@media (max-width: 720px) {
  .adminAuthSecurityPage .adminChoiceFieldGroup {
    display: grid;
  }

  .adminAuthSecurityPage .adminSettingsFormFooter {
    align-items: stretch;
  }

  .adminAuthSecurityPage .adminSettingsFormActions {
    justify-content: flex-start;
    width: 100%;
    margin-left: 0;
  }

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

.adminValidationSummary {
  gap: 6px;
  display: grid;
}

.adminFeedbackToastHost {
  z-index: 3000;
  pointer-events: none;
  position: fixed;
  top: 16px;
  right: 16px;
}

.adminFeedbackToast {
  pointer-events: auto;
  border-radius: var(--radius);
  width: min(440px, 100vw - 24px);
  min-height: 54px;
  box-shadow: var(--shadow-2);
  border: 1px solid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  display: grid;
}

.adminFeedbackToastSuccess {
  border-color: color-mix(in srgb, var(--focus), transparent 40%);
  background: color-mix(in srgb, var(--focus), white 90%);
  color: color-mix(in srgb, var(--fg), black 6%);
}

.adminFeedbackToastError {
  border-color: color-mix(in srgb, var(--danger), transparent 40%);
  background: color-mix(in srgb, var(--danger), white 92%);
  color: color-mix(in srgb, var(--danger), black 12%);
}

.adminFeedbackToastIcon {
  border: 1px solid;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  font-size: 13px;
  font-weight: 700;
  display: inline-flex;
}

.adminFeedbackToastMessage {
  min-width: 0;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
}

.adminFeedbackToastClose {
  color: inherit;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 2px;
  justify-content: center;
  align-items: center;
  min-width: 36px;
  min-height: 36px;
  font-size: 14px;
  font-weight: 700;
  display: inline-flex;
}

.adminFeedbackToastClose:hover {
  background: color-mix(in srgb, currentColor, transparent 90%);
}

.adminFeedbackToastClose:focus-visible {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), transparent 28%);
  outline: none;
}

@media (max-width: 640px) {
  .adminFeedbackToastHost {
    top: 10px;
    left: 12px;
    right: 12px;
  }

  .adminFeedbackToast {
    width: 100%;
  }
}

.adminValidationTitle {
  font-weight: 700;
}

.adminValidationList {
  gap: 4px;
  margin: 0;
  padding-left: 18px;
  display: grid;
}

.adminSettingsForm {
  gap: 10px;
  display: grid;
}

.adminTemplateForm {
  gap: 12px;
}

.adminTemplateFormLoading {
  cursor: progress;
}

.adminTemplateFieldsGrid {
  gap: 10px;
  display: grid;
}

.adminTemplateField {
  min-width: 0;
}

.adminTemplateBooleanField {
  gap: 4px;
}

.adminBooleanFieldRow {
  cursor: pointer;
  width: fit-content;
  max-width: 100%;
  min-height: 30px;
  color: inherit;
  background: none;
  border: 0;
  align-items: center;
  gap: 9px;
  padding: 0;
  display: inline-flex;
}

.adminBooleanFieldRow:focus-within {
  outline: none;
}

.adminBooleanFieldRow input[type="checkbox"] {
  flex: none;
  width: 20px;
  height: 20px;
  margin: 0;
}

.adminBooleanFieldLabel {
  color: color-mix(in srgb, var(--fg), black 4%);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  font-family: var(--font-sans);
  letter-spacing: 0;
}

.adminBooleanFieldHint {
  margin-left: 29px;
}

.adminChoiceFieldGroup {
  gap: 10px;
  display: grid;
}

.adminChoiceFieldOption {
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 0;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  width: fit-content;
  max-width: 100%;
  min-height: 32px;
  padding: 0;
  display: inline-grid;
}

.adminChoiceFieldOption:focus-within {
  outline: none;
}

.adminChoiceFieldOption input[type="radio"] {
  flex: none;
  align-self: start;
  width: 20px;
  height: 20px;
  margin: 1px 0 0;
}

.adminChoiceFieldMain {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.adminChoiceFieldLabel {
  color: color-mix(in srgb, var(--fg), black 4%);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.25;
}

.adminChoiceFieldHint {
  font-size: 12px;
  line-height: 1.4;
}

.adminChoiceFieldOption.isChecked .adminChoiceFieldLabel {
  font-weight: 700;
}

.adminSettingsLoadingRow, .adminSettingsLoadingChoice {
  cursor: progress;
}

.adminSettingsSkeletonBox, .adminSettingsSkeletonInput, .adminSettingsSkeletonText {
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--stroke), white 46%) 0%,
    color-mix(in srgb, var(--bg-2), white 28%) 45%,
    color-mix(in srgb, var(--stroke), white 46%) 100%);
  background-size: 220% 100%;
  border-radius: 999px;
  animation: 1.2s ease-in-out infinite adminSettingsSkeletonPulse;
  display: block;
}

.adminSettingsSkeletonInput {
  border-radius: var(--radius);
  width: 100%;
  min-height: 44px;
}

.adminSettingsSkeletonTextarea {
  border-radius: var(--radius);
  min-height: 112px;
}

.adminSettingsSkeletonDurationInput {
  flex: auto;
  min-width: 0;
}

.adminSettingsSkeletonCheck, .adminSettingsSkeletonRadio {
  flex: none;
  width: 20px;
  height: 20px;
}

.adminSettingsSkeletonRadio {
  border-radius: 50%;
}

.adminSettingsSkeletonStepButton {
  border-radius: var(--radius);
  flex: none;
  width: 42px;
  min-height: 42px;
}

.adminSettingsSkeletonLabel {
  width: min(210px, 62vw);
  height: 17px;
}

.adminSettingsSkeletonHint {
  width: min(420px, 76vw);
  height: 12px;
}

@keyframes adminSettingsSkeletonPulse {
  from {
    background-position: 140% 0;
  }

  to {
    background-position: -80% 0;
  }
}

.adminSettingsFields {
  gap: 10px;
  display: grid;
}

.adminSettingsField {
  margin-top: 0;
}

.adminRequiredMarker {
  color: var(--danger);
  font-weight: 700;
}

.adminSettingsFieldHint {
  margin: 0;
  font-size: 12px;
}

.adminSettingsDurationField {
  width: min(100%, 230px);
}

.adminSettingsFieldError {
  color: color-mix(in srgb, var(--danger), black 10%);
  margin: 6px 0 0;
  font-size: 12px;
  line-height: 1.45;
}

.inputInvalid {
  border-color: color-mix(in srgb, var(--danger), black 10%);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--danger), transparent 35%);
}

.inputInvalid:focus-visible {
  outline-color: color-mix(in srgb, var(--danger), white 20%);
}

.adminSettingsReadonlyCard {
  border: 1px solid color-mix(in srgb, var(--line), transparent 10%);
  background: color-mix(in srgb, var(--card), white 45%);
  border-radius: 12px;
  gap: 6px;
  padding: 12px 14px;
  display: grid;
}

.adminSettingsReadonlyCard strong {
  font-size: 14px;
  line-height: 1.3;
}

.adminSettingsReadonlyCard p {
  margin: 0;
}

.adminSettingsAccessDenied {
  max-width: 760px;
}

.adminSettingsAccessDeniedBody {
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  display: grid;
}

.adminSettingsAccessDeniedIcon {
  width: 44px;
  height: 44px;
  color: color-mix(in srgb, var(--danger), black 6%);
  background: color-mix(in srgb, var(--danger), white 91%);
  border: 1px solid color-mix(in srgb, var(--danger), white 58%);
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.adminSettingsAccessDenied h2 {
  margin: 0 0 6px;
  font-size: 20px;
  line-height: 1.2;
}

.adminSettingsAccessDenied p, .adminSettingsAccessDeniedRequirement {
  color: var(--muted);
  margin: 0;
}

.adminSettingsAccessDeniedRequirement {
  margin-top: 10px;
}

.adminSettingsAccessDeniedRequirement code {
  border: 1px solid color-mix(in srgb, var(--line), transparent 12%);
  background: color-mix(in srgb, var(--card), white 40%);
  border-radius: 999px;
  padding: 2px 6px;
}

.adminSettingsReadOnlyNotice {
  border: 1px solid color-mix(in srgb, var(--focus), white 60%);
  background: color-mix(in srgb, var(--focus), white 94%);
  width: fit-content;
  max-width: 100%;
  color: color-mix(in srgb, var(--fg), var(--focus) 22%);
  border-radius: 10px;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  font-size: 13px;
  line-height: 1.35;
  display: inline-flex;
}

.adminSettingsReadOnlyNotice svg {
  flex: none;
}

.adminObraMapBlock {
  gap: 8px;
  display: grid;
}

.adminObraMapLocationLabel {
  margin: 0;
}

.adminObraMapActions {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.adminAddressAssistBlock {
  gap: 8px;
  display: grid;
}

.adminAddressAssistRow {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  display: grid;
}

@media (max-width: 760px) {
  .adminAddressAssistRow {
    grid-template-columns: minmax(0, 1fr);
  }
}

.adminObraMapSuggestions {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 8%);
  border-radius: var(--radius);
  background: var(--bg);
  max-height: 220px;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-y: auto;
}

.adminObraMapSuggestionItem {
  text-align: left;
  width: 100%;
  color: var(--fg);
  cursor: pointer;
  background: none;
  border: 0;
  min-height: 40px;
  padding: 9px 11px;
}

.adminObraMapSuggestionItem:hover, .adminObraMapSuggestionItem:focus-visible {
  background: color-mix(in srgb, var(--bg-2), var(--fg) 4%);
  outline: none;
}

.adminObraMapCanvas {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 8%);
  border-radius: var(--radius);
  width: 100%;
  height: min(56vh, 520px);
  min-height: 420px;
  overflow: hidden;
}

.adminObraMapShell {
  z-index: 0;
  isolation: isolate;
  position: relative;
}

.adminObraMapFullscreenBtn {
  z-index: 540;
  place-items: center;
  width: 38px;
  height: 38px;
  min-height: 38px;
  padding: 0;
  display: grid;
  position: absolute;
  top: 10px;
  right: 10px;
}

.adminObraMapFullscreenIcon {
  width: 18px;
  height: 18px;
}

.adminObraMapWheelHint {
  z-index: 530;
  color: #fff;
  text-align: center;
  text-shadow: 0 2px 12px #00000073;
  pointer-events: none;
  background: #00000094;
  justify-content: center;
  align-items: center;
  padding: 16px;
  font-size: clamp(22px, 2.3vw, 34px);
  font-weight: 900;
  line-height: 1.2;
  display: flex;
  position: absolute;
  inset: 0;
}

.adminObraMapShell:fullscreen {
  background: color-mix(in srgb, var(--fg), black 22%);
  width: 100%;
  height: 100%;
}

.adminObraMapShell:fullscreen .adminObraMapCanvas {
  border: 0;
  border-radius: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
}

.adminObraMapShell:fullscreen .adminObraMapFullscreenBtn {
  top: 12px;
  right: 12px;
}

.adminObraMapCanvas .leaflet-attribution-flag {
  display: none !important;
}

.adminObraMapError {
  color: var(--danger);
  margin: 0;
  font-size: 12px;
}

.adminObraOverviewBody {
  gap: 10px;
  display: grid;
}

.adminObraOverviewHeaderRow {
  justify-content: space-between;
  align-items: start;
  gap: 12px;
  display: flex;
}

.adminObraOverviewHeadingWrap {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminObraOverviewTitle {
  margin: 0;
}

.adminObraOverviewToggle {
  white-space: nowrap;
  flex: none;
}

.adminObraOverviewVisibleCount {
  margin: 0;
  font-size: 13px;
  line-height: 1.25;
}

.adminObraOverviewStatValue {
  font-size: 13px;
}

.adminObraOverviewMapShell {
  min-width: 0;
  position: relative;
}

.adminObraOverviewMapCanvas {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 10%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg-2), var(--bg) 26%);
  width: 100%;
  height: min(54vh, 500px);
  min-height: 340px;
  overflow: hidden;
}

.adminObraOverviewMapCanvas .leaflet-attribution-flag {
  display: none !important;
}

.adminObraOverviewEmpty {
  margin: 0;
  padding: 10px 0 2px;
}

.adminObraOverviewPopup {
  gap: 5px;
  min-width: min(320px, 66vw);
  display: grid;
}

.adminObraOverviewPopupTitle, .adminObraOverviewPopupAddress {
  margin: 0;
  font-size: 13px;
  line-height: 1.35;
}

.adminObraOverviewPopupAddress {
  color: var(--muted);
}

.adminObraOverviewPopupLink {
  color: var(--focus);
  text-underline-offset: 2px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: underline;
}

.adminObraOverviewPopupLink:hover {
  color: color-mix(in srgb, var(--focus), black 16%);
}

@media (max-width: 760px) {
  .adminObraOverviewHeaderRow {
    flex-direction: column;
    align-items: stretch;
  }

  .adminObraOverviewToggle {
    width: 100%;
  }

  .adminObraOverviewMapCanvas {
    height: min(52vh, 420px);
    min-height: 300px;
  }
}

.adminSettingsInputWithSuffix {
  position: relative;
}

.adminSettingsInputWithSuffixControl {
  padding-right: 56px;
}

.adminSettingsInputSuffix {
  letter-spacing: .03em;
  color: var(--muted);
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
  font-size: 12px;
  font-weight: 700;
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
}

.adminSettingsInlineLink {
  color: var(--focus);
  text-underline-offset: 2px;
  text-decoration: underline;
}

.adminSettingsInlineLink:hover {
  color: color-mix(in srgb, var(--focus), black 12%);
}

.adminSettingsInlineLink:focus-visible {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), transparent 68%);
  border-radius: 2px;
  outline: none;
}

@media (min-width: 1080px) {
  .adminTemplateFieldsGrid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.adminSettingsTimezoneField {
  position: relative;
}

.adminRegionalSettingsForm {
  gap: 14px;
}

.adminRegionalCategory {
  gap: 10px;
}

.adminRegionalCategoryHead {
  gap: 4px;
  display: grid;
}

.adminRegionalCategoryHead .adminSettingsChecklistTitle {
  font-size: 18px;
  line-height: 1.2;
}

.adminRegionalTopGrid, .adminRegionalSingleGrid, .adminRegionalFormatsGrid {
  gap: 10px;
  display: grid;
}

.adminTimezonePickerWrap {
  position: relative;
}

.adminTimezoneTrigger {
  text-align: left;
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding-right: 10px;
  display: flex;
}

.adminTimezoneTriggerChevron {
  font-size: 12px;
}

.adminTimezoneDropdown {
  z-index: 30;
  background: var(--bg);
  border: 1px solid var(--stroke);
  box-shadow: var(--shadow-2);
  border-radius: var(--radius);
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  overflow: hidden;
}

.adminTimezoneSearchWrap {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  background: var(--bg);
  padding: 8px;
}

.adminTimezoneSearchInput {
  min-height: 40px;
}

.adminTimezoneSuggestList {
  max-height: 260px;
  overflow: auto;
}

.adminTimezoneSuggestItem {
  border: 0 solid #0000;
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  width: 100%;
  color: var(--fg);
  text-align: left;
  cursor: pointer;
  font-family: var(--font-mono);
  background: none;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  font-size: 14px;
  display: flex;
}

.adminTimezoneSuggestItem:first-child {
  border-top: 0;
}

.adminTimezoneSuggestItem:hover, .adminTimezoneSuggestItem:focus-visible, .adminTimezoneSuggestItem.isSelected, .adminTimezoneSuggestItem.isActive {
  background: color-mix(in srgb, var(--focus), white 92%);
}

.adminTimezoneSuggestItem:focus-visible {
  outline: none;
}

.adminCountrySuggestItem {
  font-family: inherit;
}

.adminTimezoneSelectedMark {
  color: color-mix(in srgb, var(--accent), black 20%);
  font-weight: 900;
}

.adminTimezoneSuggestEmpty {
  color: var(--muted);
  padding: 10px;
  font-size: 13px;
}

.listboxRoot {
  width: 100%;
  min-width: 0;
  position: relative;
}

.listboxTrigger {
  text-align: left;
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-width: 0;
  padding-right: 10px;
  display: flex;
}

.listboxTriggerDisabled {
  cursor: not-allowed;
}

.listboxChevron {
  font-size: 12px;
}

.listboxMenu {
  z-index: 30;
  background: var(--bg);
  border: 1px solid var(--stroke);
  box-shadow: var(--shadow-2);
  border-radius: 2px;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  overflow: auto;
}

.listboxSearch {
  z-index: 1;
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  background: color-mix(in srgb, var(--bg), white 75%);
  padding: 8px;
  position: sticky;
  top: 0;
}

.listboxSearchInput {
  min-height: 40px;
  padding: 10px 12px;
}

.listboxEmpty {
  color: var(--muted);
  padding: 12px 14px 14px;
  font-size: 14px;
}

.listboxOption {
  text-align: left;
  width: 100%;
  color: inherit;
  cursor: pointer;
  background: none;
  border: 0;
  padding: 10px;
  font-size: 14px;
}

.listboxOptionActive {
  background: color-mix(in srgb, var(--focus), white 92%);
}

.listboxOptionMono {
  font-family: var(--font-mono);
}

.listboxOptionSans {
  font-family: var(--font-sans);
}

.listboxOptionRow {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.listboxOptionCheck {
  color: color-mix(in srgb, var(--accent), black 20%);
  font-weight: 900;
}

.listboxOptionLabelWrap {
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: inline-flex;
}

.listboxOptionIcon {
  width: 16px;
  height: 11px;
}

.adminCompanyIdentityTopGrid {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  display: grid;
}

.adminCompanyDocumentIdentity {
  gap: 8px;
  display: grid;
}

.adminCompanyDocumentIdentityTitle {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.3;
}

.adminCompanyDocumentIdentityRows {
  border-top: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 8%);
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 8%);
  display: grid;
}

.adminCompanyDocumentRow {
  border-top: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 8%);
  grid-template-columns: 176px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  padding: 14px 0;
  display: grid;
}

.adminCompanyDocumentRow:first-child {
  border-top: 0;
}

.adminCompanyDocumentThumb {
  width: 176px;
  min-height: 96px;
}

.adminCompanyDocumentLogoCanvas, .adminCompanySignatureReveal {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 20%);
  border-radius: var(--radius);
  background: #fff;
  place-items: center;
  width: 100%;
  height: 96px;
  padding: 0;
  display: grid;
  overflow: hidden;
}

.adminCompanySignatureReveal {
  min-height: 96px;
  color: var(--fg);
  cursor: pointer;
  transition: border-color .14s, background-color .14s, box-shadow .14s;
  position: relative;
}

.adminCompanyDocumentLogoCanvas img {
  object-fit: contain;
  object-position: center center;
  width: calc(100% - 16px);
  height: calc(100% - 16px);
  display: block;
}

.adminCompanySignatureReveal img {
  box-sizing: border-box;
  object-fit: contain;
  object-position: center center;
  width: calc(100% - 16px);
  height: calc(100% - 16px);
  display: block;
  position: absolute;
  inset: 8px;
}

.adminCompanySignatureReveal:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--focus), white 30%);
  background: color-mix(in srgb, var(--focus), white 96%);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus), transparent 86%);
}

.adminCompanySignatureReveal:disabled {
  cursor: not-allowed;
  opacity: .72;
}

.adminCompanySignatureReveal.isEmpty {
  cursor: default;
}

.adminCompanySignatureRevealContent {
  color: var(--muted);
  text-align: center;
  justify-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  display: grid;
}

.adminCompanySignatureEye {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 8%);
  background: color-mix(in srgb, var(--bg-2), white 42%);
  width: 36px;
  height: 36px;
  color: color-mix(in srgb, var(--fg), var(--focus) 22%);
  border-radius: 999px;
  place-items: center;
  display: grid;
}

.adminCompanyDocumentPlaceholder {
  color: var(--muted);
  text-align: center;
  font-size: 12px;
}

.adminCompanyDocumentInfo {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  min-width: 0;
  display: grid;
}

.adminCompanySignatureInfo {
  gap: 5px;
  min-width: 0;
  display: grid;
}

.adminCompanySignatureDocumentRow {
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: 8px;
}

.adminCompanySignatureWorkbench {
  grid-template-columns: minmax(184px, 210px) minmax(0, 1fr);
  align-items: start;
  gap: 16px;
  min-width: 0;
  display: grid;
}

.adminCompanySignatureWorkbench.isUpload {
  align-items: start;
}

.adminCompanySignatureCurrent {
  background: none;
  border: 0;
  border-radius: 0;
  align-content: start;
  gap: 4px;
  min-width: 0;
  padding: 0;
  display: grid;
}

.adminCompanySignatureCurrent .adminCompanySignatureReveal {
  width: 100%;
  height: 104px;
  min-height: 104px;
}

.adminCompanySignatureEditor {
  background: none;
  border: 0;
  border-radius: 0;
  align-content: start;
  gap: 12px;
  width: 100%;
  min-width: 0;
  min-height: 0;
  padding: 0;
  display: grid;
}

.adminCompanySignatureEditor.isUpload {
  grid-template-columns: max-content minmax(0, 1fr);
  align-content: center;
  align-items: center;
  column-gap: 24px;
}

.adminCompanySignatureEditor.isUpload .adminCompanySignatureWorkspace {
  width: 100%;
}

.adminCompanySignatureEditor.isDraw .adminCompanySignatureWorkspace {
  width: min(100%, 860px);
}

.adminCompanySignatureWorkspace {
  width: min(100%, 760px);
  min-width: 0;
}

.adminCompanySignatureMode {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 12%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg-2), white 28%);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-self: start;
  gap: 2px;
  width: max-content;
  max-width: 100%;
  padding: 3px;
  display: inline-grid;
}

.adminCompanySignatureModeButton {
  border-radius: calc(var(--radius) - 3px);
  min-width: 132px;
  min-height: 44px;
  color: var(--muted);
  font: inherit;
  cursor: pointer;
  background: none;
  border: 0;
  padding: 8px 16px;
  font-weight: 700;
}

.adminCompanySignatureModeButton.isActive {
  color: color-mix(in srgb, var(--focus), black 18%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--focus), white 44%),
    0 1px 2px color-mix(in srgb, var(--fg), transparent 92%);
  background: #fff;
}

.adminCompanySignatureModeButton:disabled {
  cursor: not-allowed;
  opacity: .65;
}

.adminCompanySignatureModeButton:focus-visible {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), transparent 70%);
  outline: none;
}

.adminCompanySignatureRemoveAction {
  width: 100%;
  min-height: 44px;
  color: color-mix(in srgb, var(--danger), black 10%);
  background: none;
  border-color: #0000;
  justify-content: flex-start;
  gap: 8px;
  padding: 8px;
}

.adminCompanySignatureRemoveAction:hover:not(:disabled) {
  background: color-mix(in srgb, var(--danger), white 94%);
  color: color-mix(in srgb, var(--danger), black 16%);
  border-color: #0000;
}

.adminCompanySignatureUploadPanel {
  background: none;
  border: 0;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 52px;
  padding: 0;
  display: grid;
}

.adminCompanySignatureUploadIcon {
  background: color-mix(in srgb, var(--focus), white 88%);
  width: 38px;
  height: 38px;
  color: color-mix(in srgb, var(--focus), black 12%);
  border-radius: 999px;
  place-items: center;
  display: grid;
}

.adminCompanySignatureUploadCopy {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminCompanySignatureUploadCopy strong {
  color: var(--fg);
  font-size: 14px;
  line-height: 1.3;
}

.adminCompanySignatureUploadCopy span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.adminCompanySignatureChooseFileAction {
  min-width: 132px;
}

.adminCompanyDocumentActions {
  grid-template-columns: repeat(2, minmax(112px, 1fr));
  gap: 10px;
  min-width: 250px;
  display: grid;
}

.adminCompanyDocumentActions .btn {
  justify-content: center;
  min-width: 0;
  min-height: 42px;
  padding-left: 14px;
  padding-right: 14px;
}

.adminCompanyLogoInput {
  display: none;
}

.adminCompanySignaturePadRoot {
  gap: 10px;
  display: grid;
}

.adminCompanySignaturePadCanvas {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 20%);
  border-radius: var(--radius);
  touch-action: none;
  background: #fff;
  width: 100%;
  min-height: 180px;
}

.adminCompanySignaturePadFooter {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  display: flex;
}

.adminCompanySignaturePadFooter .btn {
  justify-content: center;
  min-width: 132px;
}

.adminCompanySignatureMeta {
  margin: -2px 0 0;
  font-size: 12px;
}

.adminCompanyLogoError {
  color: color-mix(in srgb, var(--danger), black 8%);
  margin: 0;
  font-size: 12px;
}

.adminCompanyTopFields, .adminCompanyContactFields, .adminCompanyAddressFields {
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  display: grid;
}

.adminCompanyContactFields > .adminSettingsFields {
  grid-template-columns: minmax(0, 1fr);
}

.adminCompanyPhoneInputs {
  grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  display: grid;
}

.adminCompanyPhoneSubfield {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.adminCompanyPhoneSubfield > span {
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.2;
}

.adminCompanyPhonePrefixField {
  position: relative;
}

.adminCompanyPhonePrefixTrigger {
  text-align: left;
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 44px;
  padding: 8px 11px;
  transition: border-color .14s, box-shadow .14s, background-color .14s;
  display: flex;
}

.adminCompanyPhonePrefixTrigger.isOpen {
  border-color: color-mix(in srgb, var(--focus), white 12%);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus), transparent 78%);
}

.adminCompanyPhonePrefixTrigger:disabled {
  cursor: not-allowed;
}

.adminCompanyPhonePrefixValue, .adminCompanyPhonePrefixOptionLabel {
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: inline-flex;
}

.adminCompanyPhoneFlag {
  flex: none;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  font-size: 20px;
  line-height: 1;
  display: inline-flex;
}

.adminCompanyPhonePrefixCode {
  color: var(--fg);
  letter-spacing: 0;
  flex: none;
  font-weight: 800;
}

.adminCompanyPhonePrefixSeparator {
  color: var(--muted);
  flex: none;
}

.adminCompanyPhonePrefixCountry {
  min-width: 0;
  color: var(--fg);
  letter-spacing: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 650;
  overflow: hidden;
}

.adminCompanyPhonePrefixChevron {
  color: var(--muted);
  flex: none;
  font-size: 13px;
  transition: transform .14s;
}

.adminCompanyPhonePrefixTrigger.isOpen .adminCompanyPhonePrefixChevron {
  transform: rotate(180deg);
}

.adminCompanyPhonePrefixMenu {
  z-index: 30;
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 12%);
  border-radius: calc(var(--radius) + 2px);
  width: max(100%, 292px);
  max-height: 276px;
  box-shadow: 0 16px 34px color-mix(in srgb, var(--shadow), transparent 72%);
  background: #fff;
  padding: 6px;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  overflow: auto;
}

.adminCompanyPhonePrefixOption {
  border-radius: calc(var(--radius) - 2px);
  width: 100%;
  min-height: 44px;
  color: var(--fg);
  cursor: pointer;
  font: inherit;
  text-align: left;
  background: none;
  border: 0;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 8px 9px;
  display: flex;
}

.adminCompanyPhonePrefixOption:hover, .adminCompanyPhonePrefixOption.isActive {
  background: color-mix(in srgb, var(--focus), white 92%);
}

.adminCompanyPhonePrefixOption.isSelected {
  background: color-mix(in srgb, var(--focus), white 88%);
}

.adminCompanyPhonePrefixOption.isSelected .adminCompanyPhonePrefixCountry, .adminCompanyPhonePrefixOption.isSelected .adminCompanyPhonePrefixCode {
  color: color-mix(in srgb, var(--focus), black 12%);
}

.adminCompanyPhonePrefixCheck {
  color: color-mix(in srgb, var(--focus), black 12%);
  flex: none;
  font-weight: 900;
}

.adminCompanyAddressFields .adminSettingsField:first-child {
  grid-column: auto;
}

.adminVehiclePhotoField {
  gap: 8px;
}

.adminVehicleProfileSection {
  gap: 14px;
  margin-bottom: 16px;
  display: grid;
}

.adminVehicleProfileTop {
  align-items: start;
  gap: 14px;
  display: grid;
}

.adminVehicleProfilePreviewFrame {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 4%);
  border-radius: calc(var(--radius) + 2px);
  background: linear-gradient(135deg, color-mix(in srgb, var(--bg-2), white 55%), color-mix(in srgb, var(--bg), var(--focus) 3%));
  place-items: center;
  min-height: 220px;
  display: grid;
  overflow: hidden;
}

.adminVehicleProfilePreviewImage {
  object-fit: contain;
  background: #fff;
  width: 100%;
  height: 100%;
  max-height: 280px;
  display: block;
}

.adminVehicleProfilePreviewPlaceholder {
  color: var(--muted);
  font-size: 14px;
}

.adminVehicleProfileSummary {
  gap: 8px;
  min-width: 0;
  display: grid;
}

.adminVehicleProfileEyebrow {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--muted), var(--fg) 8%);
  margin: 0;
  font-size: 12px;
}

.adminVehicleProfileTitle {
  font-family: var(--font-condensed);
  letter-spacing: .01em;
  margin: 0;
  font-size: clamp(28px, 4vw, 40px);
  line-height: .98;
}

.adminVehicleProfilePlate {
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
}

.adminVehicleProfilePills {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminVehiclePhotoUploadSurface {
  border: 1px dashed color-mix(in srgb, var(--focus), white 34%);
  border-radius: calc(var(--radius) + 6px);
  background: linear-gradient(180deg, color-mix(in srgb, var(--bg), white 12%), color-mix(in srgb, var(--bg-2), white 22%));
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 18px 20px;
  display: grid;
}

.adminVehiclePhotoUploadIcon {
  background: color-mix(in srgb, var(--focus), white 86%);
  width: 66px;
  height: 66px;
  color: color-mix(in srgb, var(--focus), black 6%);
  border-radius: 999px;
  place-items: center;
  font-size: 42px;
  font-weight: 400;
  line-height: 1;
  display: grid;
}

.adminVehiclePhotoUploadCopy {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.adminVehiclePhotoUploadCopy strong {
  font-size: 18px;
  line-height: 1.2;
}

.adminVehiclePhotoUploadFormats {
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 12px;
}

.adminVehiclePhotoUploadActions {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  display: flex;
}

.adminVehiclePhotoPanel {
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg-2), var(--bg) 18%);
  place-items: center;
  width: min(100%, 420px);
  min-height: 108px;
  display: grid;
  overflow: hidden;
}

.adminVehiclePhotoPreview {
  object-fit: contain;
  background: #fff;
  width: 100%;
  max-height: 220px;
  display: block;
}

.adminVehiclePhotoPlaceholder {
  color: var(--muted);
  font-size: 12px;
}

.adminVehiclePhotoActions {
  width: fit-content;
}

.adminVehicleItvDropzone {
  min-height: 136px;
}

.adminVehicleItvDropzone.hasReport {
  border-style: solid;
  border-color: color-mix(in srgb, var(--focus), transparent 18%);
  background: linear-gradient(180deg, color-mix(in srgb, var(--focus), white 92%), color-mix(in srgb, #fff, var(--focus) 5%));
}

.adminVehicleItvDropzone.isUploading {
  cursor: wait;
  opacity: .82;
}

.adminVehicleItvDropzone[aria-disabled="true"] {
  cursor: default;
}

.adminVehicleItvDropzoneIcon {
  flex-shrink: 0;
}

.adminVehicleItvDropzone.hasReport .adminVehicleItvDropzoneIcon {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 62%);
  background: #fff;
  border-radius: 12px;
}

.adminVehicleItvDropzoneFileIcon {
  width: 36px;
  height: 36px;
}

.adminVehicleItvDropzoneText strong {
  color: color-mix(in srgb, var(--fg), black 8%);
}

.adminVehicleItvDropzoneActions {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  display: inline-flex;
}

.adminVehicleItvReportList {
  grid-column: 1 / -1;
  gap: 8px;
  width: 100%;
  display: grid;
}

.adminVehicleItvReportMeta {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 48%);
  background: #fff;
  border-radius: 10px;
  grid-column: 1 / -1;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin-top: 2px;
  padding: 10px 12px;
  display: grid;
  box-shadow: 0 1px #0f172a08;
}

.adminVehicleItvReportMetaBadge {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 6%);
  background: #fff;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  padding: 2px;
  display: inline-flex;
}

.adminVehicleItvReportMetaIcon {
  width: 34px;
  height: 34px;
}

.adminVehicleItvReportMetaText {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminVehicleItvReportMetaText strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.adminVehicleItvReportMetaActions {
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.adminVehicleItvDropzoneClearBtn {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 10%);
  width: 40px;
  height: 40px;
  color: var(--fg);
  font-family: var(--font-mono);
  cursor: pointer;
  background: #fff;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  line-height: 1;
  transition: border-color .14s, background-color .14s, color .14s;
  display: inline-flex;
}

.adminVehicleItvDropzoneClearBtn:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--danger), transparent 32%);
  background: color-mix(in srgb, var(--danger), white 92%);
  color: color-mix(in srgb, var(--danger), black 10%);
}

.adminVehicleItvDropzoneClearBtn:disabled {
  cursor: not-allowed;
  opacity: .6;
}

.adminVehicleHistoryReportLinks {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

@media (min-width: 1080px) {
  .adminVehicleProfileTop {
    grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
  }
}

@media (max-width: 1199px) {
  .adminCompanySignatureWorkbench {
    grid-template-columns: minmax(176px, 200px) minmax(0, 1fr);
  }
}

@media (max-width: 1280px) {
  .adminCompanySignatureEditor.isUpload {
    grid-template-columns: minmax(0, 1fr);
    align-content: center;
    row-gap: 12px;
  }

  .adminCompanySignatureEditor.isUpload .adminCompanySignatureWorkspace {
    width: min(100%, 760px);
  }
}

@media (max-width: 640px) {
  .adminCompanyDocumentActions {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminCompanySignatureWorkbench .adminCompanySignatureCurrent {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  .adminCompanySignatureWorkbench .adminCompanySignatureRemoveAction {
    justify-self: start;
    width: 100%;
  }

  .adminCompanySignatureUploadPanel {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .adminCompanySignatureChooseFileAction {
    grid-column: 1 / -1;
    width: 100%;
  }

  .adminCompanySignaturePadFooter .btn {
    flex: 132px;
  }

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

  .adminCompanyPhonePrefixMenu {
    width: 100%;
  }
}

@media (max-width: 900px) {
  .adminCompanyDocumentRow, .adminCompanyDocumentInfo {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminCompanyDocumentThumb, .adminCompanyDocumentLogoCanvas, .adminCompanySignatureReveal {
    width: 100%;
  }

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

  .adminCompanySignatureCurrent {
    grid-template-columns: minmax(176px, 220px) minmax(0, 1fr);
    align-items: center;
  }

  .adminCompanySignatureRemoveAction {
    justify-self: start;
    width: auto;
  }

  .adminCompanyDocumentActions {
    min-width: 0;
  }

  .adminVehiclePhotoUploadSurface {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .adminVehiclePhotoUploadActions, .adminVehicleItvDropzoneActions {
    justify-content: flex-start;
  }

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

  .adminVehicleItvReportMetaActions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

.adminSettingsTextarea {
  resize: vertical;
  min-height: 120px;
}

.adminSettingsTextareaCompact {
  min-height: 96px;
}

.adminSettingsIntro {
  margin: 0;
}

.adminCompanyCalendarIntro {
  max-width: 68ch;
  line-height: 1.45;
}

.adminSettingsFormFooter {
  gap: 10px;
  margin-top: 6px;
  display: grid;
}

.adminSettingsFormActions {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  display: flex;
}

.adminSettingsPendingPill {
  min-height: 36px;
  margin-right: auto;
}

.adminSettingsFormMeta {
  text-align: right;
  margin: 0;
  font-size: 12px;
}

.adminSettingsChecklistTitle {
  margin: 0;
  font-size: 20px;
}

.adminSettingsChecklist {
  gap: 6px;
  margin: 0;
  padding-left: 18px;
  display: grid;
}

.adminSettingsOrdinaryPage .adminSettingsChecklistTitle {
  font-size: 18px;
  line-height: 1.25;
}

.adminSettingsOrdinaryPage .adminSettingsFormFooter {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px 16px;
  margin-top: 4px;
  padding-top: 14px;
  display: flex;
}

.adminSettingsOrdinaryPage .adminSettingsFormActions {
  margin-left: auto;
}

.adminSettingsOrdinaryPage .adminSettingsFormMeta {
  text-align: left;
  order: -1;
}

.adminSettingsPolicyPage .adminTemplateForm {
  gap: 0;
}

.adminSettingsPolicyPage .adminSettingsCategory {
  gap: 12px;
  padding-bottom: 18px;
}

.adminSettingsPolicyPage .adminSettingsCategory + .adminSettingsCategory {
  padding-top: 18px;
}

.adminSettingsPolicyPage .adminSettingsCategory:last-child {
  padding-bottom: 0;
}

.adminSettingsPolicyPage .adminTemplateFieldsGrid {
  gap: 14px 22px;
}

.adminSettingsPolicyPage .adminSettingsFieldHint {
  max-width: 72ch;
}

.adminSettingsSecurityPage .adminTemplateField:not(.adminTemplateFieldFull), .adminSettingsSecurityPage .adminTemplateField:not(.adminTemplateFieldFull) > .input {
  max-width: none;
}

@media (min-width: 900px) {
  .adminSettingsPolicyPage .adminTemplateFieldsGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .adminSettingsPolicyPage .adminTemplateFieldFull:not(.adminTemplateBooleanField) {
    grid-column: 1 / -1;
  }

  .adminAppearanceSettingsPage .adminAppearanceColorGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 28px;
  }
}

@media (max-width: 640px) {
  .adminSettingsOrdinaryPage .adminSettingsFormFooter {
    align-items: stretch;
    display: grid;
  }

  .adminSettingsOrdinaryPage .adminSettingsFormActions {
    width: 100%;
    margin-left: 0;
  }

  .adminSettingsOrdinaryPage .adminSettingsFormMeta {
    text-align: right;
    order: 2;
  }

  .adminAppearanceSettingsPage .adminSidebarStyleCard {
    grid-template-columns: 78px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 0;
    padding: 10px 40px 10px 10px;
  }

  .adminAppearanceSettingsPage .adminSidebarStylePreview {
    border-radius: 8px;
    max-width: 78px;
    padding: 10px 9px;
  }

  .adminAppearanceSettingsPage .adminSidebarStyleCard input[type="radio"] {
    top: 12px;
    right: 12px;
  }
}

.adminCompanyCalendarGrid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
  display: grid;
}

.adminCompanyCalendarWeekday {
  text-align: center;
  letter-spacing: .08em;
  font-size: 12px;
}

.adminCompanyCalendarWeekendSwatch {
  background: color-mix(in srgb, var(--bg), var(--fg) 2%);
  border: 1px solid var(--stroke);
}

.adminCompanyCalendarDayButton {
  cursor: pointer;
  border: 1px solid var(--stroke);
  background: var(--bg-2);
  transition: box-shadow .12s, border-color .12s;
  position: relative;
}

.adminCompanyCalendarDayButton--holiday {
  background: var(--calendar-holiday-fill);
  border-color: var(--calendar-holiday-border);
  color: var(--calendar-holiday-text);
}

.adminCompanyCalendarDayButton--dayOff {
  background: var(--calendar-day-off-fill);
  border-color: var(--calendar-day-off-border);
  color: var(--calendar-day-off-text);
}

.adminCompanyCalendarDayButton--weekend {
  background: color-mix(in srgb, var(--bg), var(--fg) 2%);
  border-color: var(--stroke);
}

.adminCompanyCalendarDayButton.isSelected {
  border-color: color-mix(in srgb, var(--focus), transparent 25%);
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--focus), transparent 35%);
}

.adminCompanyCalendarDayButton .timesheetCellHint {
  max-width: min(75%, 12ch);
}

.adminCompanyCalendarDayButton .timesheetCellHintFull {
  white-space: normal;
  overflow-wrap: anywhere;
  display: block;
}

.adminCompanyCalendarDayButton .timesheetCellHeader {
  overflow: visible;
}

.adminCompanyCalendarDayButton .timesheetCellDayNum {
  width: max-content;
}

.adminCompanyCalendarDayButton .timesheetCellDayNumToday {
  z-index: 0;
  color: #fff;
  font-weight: 700;
  position: relative;
}

.adminCompanyCalendarDayButton .timesheetCellDayNumToday:before {
  content: "";
  background: var(--focus);
  z-index: -1;
  pointer-events: none;
  border-radius: 999px;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.adminCompanyCalendarDayButton .timesheetCellSelectMark {
  border: 1px solid var(--stroke);
  color: #0000;
  background: none;
}

.adminCompanyCalendarDayButton .timesheetCellSelectMark.isChecked {
  border-color: color-mix(in srgb, var(--focus), transparent 18%);
  background: var(--focus);
  color: #fff;
}

.adminCompanyCalendarDayButton:disabled {
  cursor: default;
}

.adminCompanyCalendarDayButton:hover:not(:disabled) {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--focus), transparent 42%);
}

.adminCompanyCalendarDayButton:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 18%);
  outline-offset: 1px;
}

.adminCompanyCalendarPanelBody {
  gap: 12px;
  display: grid;
}

.adminCompanyCalendarPanel {
  box-shadow: none;
  background: var(--bg-2);
}

.adminCompanyCalendarPanelTopRow {
  gap: 10px;
  display: grid;
}

.adminCompanyCalendarPanelTopRowOpen {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.adminCompanyCalendarPanelHeader {
  gap: 2px;
  display: grid;
}

.adminCompanyCalendarPanelDate {
  font-size: 18px;
}

.adminCompanyCalendarHint {
  font-size: 13px;
}

.adminCompanyCalendarPanelTopActions {
  width: 100%;
}

.adminCompanyCalendarActionLane {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  width: 100%;
  display: flex;
}

.adminCompanyCalendarSelectedInput {
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  width: 176px;
  min-height: 36px;
  color: var(--fg);
  background: #fff;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 0 11px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  display: inline-flex;
}

.adminCompanyCalendarSelectedInput .mono {
  margin-left: auto;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
}

.adminCompanyCalendarSelectedLabel {
  white-space: nowrap;
}

.adminCompanyCalendarCloseBtn {
  white-space: nowrap;
  width: 176px !important;
  min-width: 176px !important;
  min-height: 36px !important;
  padding: 0 11px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.adminCompanyCalendarEditorGrid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  display: grid;
}

.adminCompanyCalendarToggleField {
  gap: 2px;
  margin: 0;
  display: grid;
}

.adminCompanyCalendarToggleField .adminBooleanFieldRow {
  align-items: center;
  min-height: 44px;
}

.adminCompanyCalendarToggleField .adminBooleanFieldHint {
  margin-left: 0;
}

.adminCompanyCalendarFieldHint {
  margin: 1px 2px 0;
  font-size: 13px;
  line-height: 1.35;
}

.adminCompanyCalendarBulkBody {
  gap: 12px;
  display: grid;
}

.adminCompanyCalendarBulkActions {
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 10px;
  display: flex;
}

.adminCompanyCalendarBulkActions .btn, .adminCompanyCalendarPanelTopActions .btn {
  width: auto;
  min-width: 0;
}

.adminCompanyCalendarCompactBtn {
  min-height: 36px !important;
  padding: 7px 12px !important;
  font-size: 14px !important;
}

.adminCompanyCalendarInfoPill {
  background: var(--bg-2);
  border: 1px solid var(--stroke);
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  column-gap: 10px;
  min-height: 44px;
  padding: 10px 12px;
  display: grid;
}

.adminCompanyCalendarInfoIcon {
  width: 18px;
  height: 18px;
  color: var(--muted);
  place-items: center;
  font-size: 14px;
  line-height: 1;
  display: inline-grid;
}

.adminCompanyCalendarInfoText {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.35;
}

.adminCompanyCalendarLegendSwatch--holiday {
  background: var(--calendar-holiday-base);
  border: 1px solid var(--calendar-holiday-border);
}

.adminCompanyCalendarLegendSwatch--dayOff {
  background: var(--calendar-day-off-base);
  border: 1px solid var(--calendar-day-off-border);
}

.adminSettingsHistoryBody {
  gap: 10px;
  min-width: 0;
  padding: 12px;
  display: grid;
}

.adminSettingsHistoryList {
  max-height: min(650px, calc(100vh - var(--admin-shell-header-height) - 210px));
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-radius: var(--radius);
  background: #fff;
  gap: 0;
  min-width: 0;
  min-height: 240px;
  display: grid;
  overflow: auto;
}

.adminSettingsHistoryList .adminSettingsHistoryItem {
  background: #fff;
  border: 0;
  border-radius: 0;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  display: grid;
  overflow: visible;
}

.adminSettingsHistoryList .adminSettingsHistoryItem + .adminSettingsHistoryItem {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
}

.adminSettingsHistoryItemHeader {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.adminSettingsHistorySummary {
  color: var(--fg);
  overflow-wrap: anywhere;
  margin: 0;
  font-weight: 700;
  line-height: 1.35;
}

.adminSettingsHistoryItemMeta {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.adminSettingsHistoryItemMeta > span {
  overflow-wrap: anywhere;
  word-break: break-word;
  min-width: 0;
}

.adminSettingsHistoryPage {
  gap: 18px;
}

.adminSettingsHistorySurface {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 5%);
  border-radius: var(--radius);
  width: 100%;
  min-width: 0;
  box-shadow: none;
  background: #fff;
  overflow: hidden;
}

.adminSettingsHistoryState {
  margin: 0;
  padding: 18px 20px;
}

.adminSettingsHistoryResultHead {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 0 16px;
  display: flex;
}

.adminSettingsHistoryResultHead strong {
  color: var(--fg);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
}

.adminSettingsHistoryActiveFilter {
  min-width: 0;
  color: color-mix(in srgb, var(--muted), var(--fg) 18%);
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 760;
  line-height: 1.2;
  display: inline-flex;
}

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

.adminSettingsHistoryTableHeader, .adminSettingsHistoryRow {
  grid-template-columns: minmax(240px, 1.08fr) 58px minmax(146px, .72fr) minmax(120px, .62fr) minmax(0, 1.3fr) minmax(136px, auto);
  align-items: center;
  gap: 14px;
  min-width: 0;
  display: grid;
}

.adminSettingsHistoryTableHeader {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  color: color-mix(in srgb, var(--muted), var(--fg) 18%);
  padding: 13px 16px;
  font-size: 12px;
  font-weight: 780;
  line-height: 1.2;
}

.adminSettingsHistoryTableHeader span:last-child {
  justify-self: end;
}

@media (max-width: 1180px) and (min-width: 901px) {
  .adminSettingsHistoryTableHeader, .adminSettingsHistoryRow {
    grid-template-columns: minmax(170px, 1fr) 46px minmax(112px, .68fr) minmax(96px, .58fr) minmax(0, .95fr) minmax(92px, auto);
    gap: 10px;
    padding-left: 12px;
    padding-right: 12px;
  }

  .adminSettingsHistoryAction {
    justify-self: end;
  }
}

.adminSettingsHistoryRows {
  background: #fff;
  min-width: 0;
  display: grid;
}

.adminSettingsHistoryItem {
  background: #fff;
  border: 0;
  min-width: 0;
  display: grid;
}

.adminSettingsHistoryItem + .adminSettingsHistoryItem {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
}

.adminSettingsHistoryRow {
  width: 100%;
  min-height: 58px;
  color: var(--fg);
  font: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  padding: 10px 16px;
}

.adminSettingsHistoryRow:hover {
  background: color-mix(in srgb, var(--focus), white 97%);
}

.adminSettingsHistoryRow:focus-visible {
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--focus), transparent 54%);
  outline: none;
}

.adminSettingsHistoryItem.isExpanded .adminSettingsHistoryRow {
  background: color-mix(in srgb, var(--focus), white 96%);
}

.adminSettingsHistorySectionChip {
  background: color-mix(in srgb, var(--bg-2), white 42%);
  min-width: 0;
  max-width: 100%;
  color: color-mix(in srgb, var(--muted), var(--fg) 16%);
  justify-self: start;
}

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

.adminSettingsHistoryVersion {
  color: var(--fg);
  text-align: center;
  justify-self: start;
  font-size: 13px;
  line-height: 1.3;
}

.adminSettingsHistoryDate, .adminSettingsHistoryActor, .adminSettingsHistoryReason {
  min-width: 0;
  color: var(--fg);
  font-size: 13px;
  line-height: 1.35;
}

.adminSettingsHistoryReason {
  color: color-mix(in srgb, var(--muted), var(--fg) 20%);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.adminSettingsHistoryAction {
  min-width: 0;
  max-width: 100%;
  color: var(--focus);
  white-space: nowrap;
  justify-content: flex-end;
  justify-self: end;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 780;
  line-height: 1.25;
  display: inline-flex;
}

.adminSettingsHistoryAction span {
  text-overflow: ellipsis;
  min-width: 0;
  overflow: hidden;
}

.adminSettingsHistoryActionIcon {
  flex: none;
  transition: transform .14s;
}

.adminSettingsHistoryItem.isExpanded .adminSettingsHistoryActionIcon {
  transform: rotate(90deg);
}

.adminSettingsHistoryDetailRow {
  background: color-mix(in srgb, var(--focus), white 97%);
  gap: 8px;
  min-width: 0;
  padding: 0 16px 16px;
  display: grid;
}

.adminSettingsHistoryValueLabel {
  color: color-mix(in srgb, var(--muted), var(--fg) 16%);
  font-size: 12px;
  font-weight: 760;
  line-height: 1.2;
}

.adminSettingsHistoryValue {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  width: 100%;
  min-width: 0;
  max-width: 100%;
  max-height: min(360px, 48vh);
  color: color-mix(in srgb, var(--fg), black 4%);
  white-space: pre;
  background: #fff;
  border-radius: 8px;
  margin: 0;
  padding: 12px;
  font-size: 12px;
  line-height: 1.45;
  overflow: auto;
}

@media (max-width: 900px) {
  .adminSettingsHistoryPage {
    gap: 20px;
  }

  .adminSettingsHistoryResultHead {
    min-height: 80px;
    padding: 0 26px;
  }

  .adminSettingsHistoryResultHead strong, .adminSettingsHistoryActiveFilter {
    font-size: 20px;
  }

  .adminSettingsHistoryTableHeader {
    display: none;
  }

  .adminSettingsHistoryRow {
    grid-template-columns: auto minmax(0, 1fr) minmax(96px, auto);
    grid-template-areas: "section section action"
                         "version date action"
                         "actor actor action"
                         "reason reason reason";
    gap: 9px 12px;
    min-height: 146px;
    padding: 24px 20px;
  }

  .adminSettingsHistorySectionChip {
    grid-area: section;
    gap: 6px;
    min-height: 44px;
    padding: 8px 10px;
    font-size: 14px;
  }

  .adminSettingsHistorySectionChip span {
    text-overflow: clip;
    white-space: normal;
    overflow: visible;
  }

  .adminSettingsHistoryVersion {
    border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
    background: color-mix(in srgb, var(--bg-2), white 38%);
    border-radius: 999px;
    grid-area: version;
    min-width: 54px;
    min-height: 40px;
    padding: 8px 12px;
    font-size: 16px;
  }

  .adminSettingsHistoryDate {
    grid-area: date;
  }

  .adminSettingsHistoryActor {
    grid-area: actor;
  }

  .adminSettingsHistoryReason {
    grid-area: reason;
  }

  .adminSettingsHistoryDate, .adminSettingsHistoryActor, .adminSettingsHistoryReason {
    font-size: 15px;
  }

  .adminSettingsHistoryAction {
    text-align: right;
    white-space: normal;
    grid-area: action;
    place-self: center end;
    max-width: 104px;
    font-size: 15px;
    line-height: 1.25;
  }

  .adminSettingsHistoryDetailRow {
    padding: 0 26px 24px;
  }

  .adminSettingsHistoryValue {
    white-space: pre;
    max-height: 300px;
  }
}

@media (max-width: 480px) {
  .adminSettingsHistoryResultHead {
    min-height: 80px;
    padding: 0 26px;
  }

  .adminSettingsHistoryResultHead strong, .adminSettingsHistoryActiveFilter {
    font-size: 18px;
  }

  .adminSettingsHistoryRow {
    grid-template-columns: auto minmax(0, 1fr) minmax(92px, auto);
    gap: 9px 10px;
    padding: 24px 20px;
  }

  .adminSettingsHistorySectionChip {
    font-size: 13px;
  }

  .adminSettingsHistoryDate, .adminSettingsHistoryActor, .adminSettingsHistoryReason {
    font-size: 14px;
  }

  .adminSettingsHistoryAction {
    max-width: 98px;
    font-size: 14px;
  }
}

.adminDataQualityPage {
  --data-quality-border: color-mix(in srgb, var(--stroke), transparent 18%);
  --data-quality-soft-border: color-mix(in srgb, var(--stroke), transparent 28%);
  --data-quality-row-bg: color-mix(in srgb, #fff, var(--bg) 20%);
  gap: 12px;
  width: 100%;
  max-width: none;
  display: grid;
}

.adminDataQualityPage .adminHeaderBody {
  width: 100%;
}

.adminDataQualityPage .adminSettingsIntro {
  max-width: 74ch;
  color: color-mix(in srgb, var(--muted), var(--fg) 8%);
  font-size: 16px;
  line-height: 1.45;
}

.adminDataQualityRefreshButton {
  min-height: 44px;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--focus), transparent 84%);
  border-radius: 8px;
  gap: 8px;
  padding-inline: 16px;
}

.adminDataQualityRefreshButton svg {
  flex: none;
}

.adminDataQualitySummaryCard, .adminDataQualityGroupCard {
  border: 1px solid var(--data-quality-border);
  width: 100%;
  max-width: none;
  box-shadow: none;
  background: #fff;
  border-radius: 10px;
}

.adminDataQualitySummaryBody {
  gap: 14px;
  min-width: 0;
  padding: 16px;
  display: grid;
}

.adminDataQualityMetricGrid {
  grid-template-columns: minmax(238px, 1.45fr) repeat(5, minmax(118px, 1fr));
  gap: 10px;
  min-width: 0;
  display: grid;
}

.adminDataQualityMetric {
  border: 1px solid var(--data-quality-soft-border);
  background: #fff;
  border-radius: 8px;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 62px;
  padding: 11px 12px;
  display: grid;
}

.adminDataQualityMetricIcon {
  width: 31px;
  height: 31px;
  color: color-mix(in srgb, var(--focus), black 6%);
  background: color-mix(in srgb, var(--focus), white 91%);
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.adminDataQualityMetric.isTotal .adminDataQualityMetricIcon {
  color: color-mix(in srgb, var(--ok), black 2%);
  background: color-mix(in srgb, var(--ok), white 92%);
}

.adminDataQualityMetric.isCritical .adminDataQualityMetricIcon {
  color: color-mix(in srgb, var(--danger), black 4%);
  background: color-mix(in srgb, var(--danger), white 91%);
}

.adminDataQualityMetric.isWarning .adminDataQualityMetricIcon {
  color: color-mix(in srgb, var(--accent), black 24%);
  background: color-mix(in srgb, var(--accent), white 88%);
}

.adminDataQualityMetric.isGroups .adminDataQualityMetricIcon {
  color: color-mix(in srgb, var(--focus), black 4%);
  background: color-mix(in srgb, var(--focus), white 92%);
}

.adminDataQualityMetric.isChecks .adminDataQualityMetricIcon {
  color: color-mix(in srgb, var(--muted), black 10%);
  background: color-mix(in srgb, var(--muted), white 90%);
}

.adminDataQualityMetricText {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.adminDataQualityMetricLabel, .adminDataQualityMetaLine {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.25;
}

.adminDataQualityMetric strong {
  color: var(--fg);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 16px;
  line-height: 1.15;
  overflow: hidden;
}

.adminDataQualityGroupList {
  width: 100%;
  max-height: min(700px, calc(100vh - var(--admin-shell-header-height) - 224px));
  overscroll-behavior: contain;
  background: none;
  border: 0;
  border-radius: 0;
  gap: 10px;
  min-width: 0;
  padding: 0 4px 2px 0;
  scroll-padding: 10px;
  display: grid;
  overflow: auto;
}

.adminDataQualityGroupCard {
  min-width: 0;
  overflow: visible;
}

.adminDataQualityGroupCard + .adminDataQualityGroupCard {
  border-top: 1px solid var(--data-quality-border);
}

.adminDataQualityGroupBody {
  gap: 12px;
  padding: 14px;
  display: grid;
}

.adminDataQualityGroupHeader {
  grid-template-columns: minmax(0, 1fr) auto;
  justify-content: space-between;
  align-items: start;
  gap: 14px;
  min-width: 0;
  display: grid;
}

.adminDataQualityGroupTitleBlock {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.adminDataQualityGroupActions {
  flex-wrap: wrap;
  flex-shrink: 0;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  display: flex;
}

.adminDataQualityGroupActions .btnAction {
  border-radius: 8px;
  min-height: 38px;
  padding: 8px 14px;
}

.adminDataQualityMetaLine {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  display: flex;
}

.adminDataQualityMetaLine > span:not(.pill) {
  overflow-wrap: normal;
  word-break: normal;
}

.adminDataQualityIssueList {
  border: 1px solid var(--data-quality-soft-border);
  background: #fff;
  border-radius: 8px;
  min-width: 0;
  max-height: min(190px, 32vh);
  display: grid;
  overflow: auto;
}

.adminDataQualityGroupEmptyStrip {
  border: 1px solid color-mix(in srgb, var(--ok), transparent 72%);
  background: color-mix(in srgb, var(--ok), white 96%);
  border-radius: 8px;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 10px 12px;
  display: flex;
}

.adminDataQualityGroupEmptyStrip.isFiltered {
  border-color: color-mix(in srgb, var(--focus), transparent 75%);
  background: color-mix(in srgb, var(--focus), white 96%);
}

.adminDataQualityGroupEmptyStrip svg {
  color: var(--ok);
  flex: none;
}

.adminDataQualityGroupEmptyStrip.isFiltered svg {
  color: var(--focus);
}

.adminDataQualityGroupEmpty {
  margin: 0;
}

.adminDataQualityIssueRow {
  border: 0;
  border-left: 3px solid color-mix(in srgb, var(--stroke), transparent 18%);
  border-bottom: 1px solid var(--data-quality-soft-border);
  background: var(--data-quality-row-bg);
  grid-template-columns: minmax(0, 1fr) minmax(188px, auto);
  align-items: center;
  gap: 16px;
  min-width: 0;
  padding: 10px 12px 10px 14px;
  display: grid;
}

.adminDataQualityIssueRow:last-child {
  border-bottom: 0;
}

.adminDataQualityIssueRow.isCritical {
  border-left-color: color-mix(in srgb, var(--danger), transparent 10%);
  background: color-mix(in srgb, var(--danger), white 98%);
}

.adminDataQualityIssueRow.isWarning {
  border-left-color: color-mix(in srgb, var(--accent), transparent 8%);
  background: color-mix(in srgb, var(--accent), white 98%);
}

.adminDataQualityIssueRow.isInfo {
  border-left-color: color-mix(in srgb, var(--focus), transparent 18%);
  background: color-mix(in srgb, var(--focus), white 98%);
}

.adminDataQualityIssueMain {
  grid-template-columns: minmax(176px, auto) minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  min-width: 0;
  display: grid;
}

.adminDataQualityIssueMetaLine {
  align-content: center;
  gap: 8px 10px;
}

.adminDataQualityIssueText {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.adminDataQualityIssueText strong, .adminDataQualityIssueText p {
  margin: 0;
}

.adminDataQualityIssueText strong {
  color: var(--fg);
  font-size: 14px;
  line-height: 1.25;
}

.adminDataQualityIssueText p {
  font-size: 14px;
  line-height: 1.35;
}

.adminDataQualityIssueAction {
  min-width: 0;
  color: var(--muted);
  white-space: nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  line-height: 1.25;
  display: flex;
}

.adminDataQualityIssueOpenButton {
  border-radius: 8px;
  min-height: 36px;
  padding: 7px 12px;
}

.adminDataQualityGroupFooter {
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding-top: 2px;
  display: flex;
}

.adminDataQualityGroupFooter .btn {
  min-height: 38px;
  color: var(--focus);
  background: none;
  border-color: #0000;
}

.adminDataQualityGroupFooter .btn:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--focus), transparent 74%);
  background: color-mix(in srgb, var(--focus), white 95%);
}

.adminDataQualityGroupError {
  justify-self: end;
  margin: 0;
}

.adminAccessReviewsPage > .card {
  max-width: none;
}

.adminAccessReviewConsole {
  border-color: color-mix(in srgb, var(--stroke), var(--focus) 10%);
  background: var(--bg-2);
  box-shadow: none;
}

.adminAccessReviewCreateBody, .adminAccessReviewDetailBody {
  gap: 16px;
  display: grid;
}

.adminAccessReviewSectionHeader, .adminAccessReviewDetailHeader, .adminAccessReviewItemToolbar, .adminAccessReviewListItem, .adminAccessReviewIssueItem {
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  min-width: 0;
  display: flex;
}

.adminAccessReviewCreateRow {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 12px;
  padding-top: 2px;
  display: grid;
}

.adminAccessReviewTitleField {
  margin-top: 0;
}

.adminAccessReviewGenerateBtn {
  min-height: 44px;
}

.adminAccessReviewLedgerBody {
  gap: 10px;
  display: grid;
}

.adminAccessReviewList {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  display: grid;
}

.adminAccessReviewListItem {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 20%);
  grid-template-columns: minmax(96px, auto) minmax(220px, 1fr) minmax(152px, auto) minmax(78px, auto) auto;
  align-items: center;
  gap: 14px;
  padding: 12px 0;
  display: grid;
}

.adminAccessReviewListItem.isSelected {
  background: color-mix(in srgb, var(--focus), white 96%);
  box-shadow: inset 3px 0 0 var(--focus);
  border-radius: 8px;
  margin-left: -12px;
  margin-right: -12px;
  padding-left: 12px;
  padding-right: 12px;
}

.adminAccessReviewListMain, .adminAccessReviewDetailTitle, .adminAccessReviewIssueMain {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.adminAccessReviewListMain h3, .adminAccessReviewDetailTitle h2, .adminAccessReviewIssueMain strong, .adminAccessReviewDeleteConfirm p, .adminAccessReviewListMain .adminSettingsFieldHint {
  margin: 0;
}

.adminAccessReviewListActions, .adminAccessReviewDetailActions {
  flex-wrap: wrap;
  flex-shrink: 0;
  justify-content: flex-end;
  gap: 8px;
  display: flex;
}

.adminAccessReviewLedgerStatus {
  align-items: center;
  min-width: 0;
  display: flex;
}

.adminAccessReviewLedgerMeta {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.adminAccessReviewLedgerMeta span {
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 11px;
  line-height: 1.2;
}

.adminAccessReviewLedgerMeta strong {
  color: var(--fg);
  font-size: 12px;
  line-height: 1.25;
}

.adminAccessReviewMetaLine {
  color: var(--muted);
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  line-height: 1.25;
  display: flex;
}

.adminAccessReviewDetailHeader {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  padding-bottom: 14px;
}

.adminAccessReviewDeleteConfirm {
  border: 1px solid color-mix(in srgb, var(--danger), transparent 50%);
  background: color-mix(in srgb, var(--danger), white 96%);
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 12px;
  display: flex;
}

.adminAccessReviewSummaryGrid {
  grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
  gap: 10px;
  display: grid;
}

.adminAccessReviewMetric {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: var(--bg);
  border-radius: 8px;
  gap: 6px;
  min-width: 0;
  padding: 10px 12px;
  display: grid;
}

.adminAccessReviewMetric span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.25;
}

.adminAccessReviewMetric strong {
  color: var(--fg);
  line-height: 1.1;
}

.adminAccessReviewItemToolbar {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  align-items: end;
  padding-top: 8px;
}

.adminSeverityPill {
  border-radius: 8px;
  min-height: 34px;
  padding: 7px 12px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.15;
}

.adminSeverityPill.isCritical {
  border-color: color-mix(in srgb, var(--danger), transparent 48%);
  background: color-mix(in srgb, var(--danger), white 92%);
  color: color-mix(in srgb, var(--danger), black 16%);
}

.adminSeverityPill.isWarning {
  border-color: color-mix(in srgb, var(--accent), transparent 48%);
  background: color-mix(in srgb, var(--accent), white 90%);
  color: color-mix(in srgb, var(--accent), black 35%);
}

.adminSeverityPill.isInfo {
  border-color: color-mix(in srgb, var(--focus), transparent 56%);
  background: color-mix(in srgb, var(--focus), white 94%);
  color: color-mix(in srgb, var(--focus), black 18%);
}

.adminAccessReviewItemGroup {
  gap: 10px;
  display: grid;
}

.adminAccessReviewGroupHeader {
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding-top: 4px;
  display: flex;
}

.adminAccessReviewIssueItem {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: var(--bg);
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--stroke), transparent 20%);
  border-radius: 8px;
  grid-template-columns: minmax(190px, .85fr) minmax(0, 1.4fr);
  align-items: start;
  padding: 12px;
  display: grid;
}

.adminAccessReviewIssueItem.isCritical {
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--danger), transparent 10%);
}

.adminAccessReviewIssueItem.isWarning {
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--accent), transparent 8%);
}

.adminAccessReviewIssueItem.isInfo {
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--focus), transparent 22%);
}

.adminAccessReviewEvidenceGrid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
  display: grid;
}

.adminAccessReviewEvidenceCell {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 20%);
  background: color-mix(in srgb, var(--bg-2), var(--bg) 55%);
  border-radius: 8px;
  gap: 4px;
  min-width: 0;
  padding: 8px 10px;
  display: grid;
}

.adminAccessReviewEvidenceCell span {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.2;
}

.adminAccessReviewEvidenceCell strong {
  color: var(--fg);
  overflow-wrap: anywhere;
  word-break: normal;
  font-size: 12px;
  line-height: 1.3;
}

.adminAccessReviewNoEvidence {
  margin: 0;
}

.adminAccessReviewIssueItem .adminSettingsDisclosure {
  grid-column: 1 / -1;
}

#supplier-payment-accounts, #vehicle-itv {
  scroll-margin-top: 88px;
}

@media (max-width: 1280px) and (min-width: 981px) {
  .adminDataQualityMetricGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .adminDataQualityMetricGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .adminDataQualityGroupHeader {
    display: grid;
  }

  .adminDataQualityIssueMain {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  .adminDataQualityGroupActions, .adminDataQualityIssueAction, .adminDataQualityGroupFooter {
    justify-content: flex-start;
    justify-items: start;
  }

  .adminDataQualityGroupFooter {
    flex-wrap: wrap;
  }

  .adminAccessReviewSectionHeader, .adminAccessReviewDetailHeader, .adminAccessReviewItemToolbar, .adminAccessReviewDeleteConfirm {
    justify-content: stretch;
    display: grid;
  }

  .adminAccessReviewCreateRow, .adminAccessReviewListItem, .adminAccessReviewIssueItem, .adminAccessReviewEvidenceGrid {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminAccessReviewListItem {
    align-items: stretch;
  }

  .adminAccessReviewListActions, .adminAccessReviewDetailActions {
    justify-content: flex-start;
  }
}

.adminSettingsSnapshotGrid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 12px;
  display: grid;
}

.adminSettingsSnapshotPage > .card, .adminSettingsSnapshotPage .adminSettingsSnapshotGrid, .adminSettingsSnapshotHero, .adminSettingsSnapshotActionBar, .adminSettingsSnapshotEditor {
  width: min(100%, 1120px);
}

.adminSettingsSnapshotBody {
  gap: 12px;
  display: grid;
}

.adminSettingsSnapshotActions {
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 10px;
  display: flex;
}

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

.adminSettingsSnapshotTextarea {
  min-height: 320px;
  font-size: 12px;
  line-height: 1.4;
}

.adminSettingsSnapshotHero, .adminSettingsSnapshotActionBar, .adminSettingsSnapshotEditor {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: var(--radius);
  box-shadow: none;
  background: #fff;
}

.adminSettingsSnapshotHero {
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  align-items: stretch;
  gap: 16px;
  padding: 16px;
  display: grid;
}

.adminSettingsSnapshotHeroText {
  align-content: center;
  gap: 10px;
  min-width: 0;
  display: grid;
}

.adminSettingsSnapshotHeroText h2 {
  font-family: var(--font-condensed);
  letter-spacing: .02em;
  margin: 0;
  font-size: 28px;
  line-height: 1.08;
}

.adminSettingsSnapshotHeroText .muted {
  max-width: 66ch;
  margin: 0;
}

.adminSettingsSnapshotEyebrow {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--focus), var(--fg) 24%);
  margin: 0;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
}

.adminSettingsSnapshotStatusPanel {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-radius: var(--radius);
  background: var(--bg);
  align-content: start;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  display: grid;
}

.adminSettingsSnapshotStatusBadge, .adminSettingsSnapshotInlineStatus {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  border-radius: var(--radius);
  background: var(--bg);
  width: fit-content;
  min-height: 30px;
  color: var(--fg);
  white-space: nowrap;
  justify-content: center;
  align-items: center;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  display: inline-flex;
}

.adminSettingsSnapshotStatusBadge.is-valid, .adminSettingsSnapshotInlineStatus.is-valid {
  border-color: color-mix(in srgb, var(--ok), transparent 58%);
  background: color-mix(in srgb, var(--ok), white 90%);
  color: color-mix(in srgb, var(--ok), black 12%);
}

.adminSettingsSnapshotStatusBadge.is-invalid, .adminSettingsSnapshotInlineStatus.is-invalid {
  border-color: color-mix(in srgb, var(--danger), transparent 55%);
  background: color-mix(in srgb, var(--danger), white 91%);
  color: color-mix(in srgb, var(--danger), black 8%);
}

.adminSettingsSnapshotStatusBadge.is-empty, .adminSettingsSnapshotInlineStatus.is-empty {
  color: color-mix(in srgb, var(--muted), var(--fg) 18%);
}

.adminSettingsSnapshotMetaGrid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  margin: 0;
  display: grid;
}

.adminSettingsSnapshotMetaGrid div {
  min-width: 0;
}

.adminSettingsSnapshotMetaGrid dt {
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 3px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
}

.adminSettingsSnapshotMetaGrid dd {
  min-width: 0;
  color: var(--fg);
  font-family: var(--font-mono);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin: 0;
  font-size: 13px;
  line-height: 1.35;
  overflow: hidden;
}

.adminSettingsSnapshotActionBar {
  grid-template-columns: minmax(190px, .32fr) minmax(0, 1fr);
  align-items: start;
  gap: 16px;
  padding: 12px 14px;
  display: grid;
}

.adminSettingsSnapshotActionText {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.adminSettingsSnapshotActionText .adminSettingsChecklistTitle {
  margin: 0;
}

.adminSettingsSnapshotEditor {
  background: #fff;
  gap: 12px;
  padding: 14px;
  display: grid;
}

.adminSettingsSnapshotEditorHeader {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
  display: flex;
}

.adminSettingsSnapshotEditorHeader .adminSettingsCategory {
  min-width: 0;
}

.adminSettingsSnapshotSectionList {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.adminSettingsSnapshotSectionPill {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg-2), var(--fg) 2%);
  max-width: 100%;
  min-height: 28px;
  color: color-mix(in srgb, var(--fg), var(--muted) 12%);
  cursor: pointer;
  font: inherit;
  align-items: center;
  padding: 4px 8px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  display: inline-flex;
}

.adminSettingsSnapshotSectionPill:hover, .adminSettingsSnapshotSectionPill:focus-visible, .adminSettingsSnapshotSectionPill.is-active {
  border-color: color-mix(in srgb, var(--focus), transparent 34%);
  background: color-mix(in srgb, var(--focus), white 91%);
  color: color-mix(in srgb, var(--focus), black 14%);
}

.adminSettingsSnapshotSectionPill:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus), transparent 78%);
  outline: none;
}

.adminSettingsSnapshotPage .adminSettingsSnapshotTextarea {
  height: min(46dvh, 500px);
  min-height: 300px;
  font-family: var(--font-mono);
  tab-size: 2;
  font-size: 12px;
  line-height: 1.45;
}

.adminSettingsSnapshotNote {
  color: var(--muted);
  flex-wrap: wrap;
  align-items: baseline;
  gap: 5px;
  padding-top: 2px;
  font-size: 13px;
  line-height: 1.4;
  display: flex;
}

.adminSettingsSnapshotNote strong {
  color: var(--fg);
}

@media (max-width: 900px) {
  .adminSettingsSnapshotHero, .adminSettingsSnapshotActionBar {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminSettingsSnapshotHeroText h2 {
    font-size: 30px;
  }

  .adminSettingsSnapshotActionBar .adminSettingsSnapshotActions {
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  .adminSettingsSnapshotHero, .adminSettingsSnapshotActionBar, .adminSettingsSnapshotEditor {
    padding: 12px;
  }

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

  .adminSettingsSnapshotEditorHeader {
    display: grid;
  }

  .adminSettingsSnapshotActionBar .adminSettingsSnapshotActions, .adminSettingsSnapshotActionBar .btn {
    width: 100%;
  }

  .adminSettingsSnapshotPage .adminSettingsSnapshotTextarea {
    height: 48dvh;
    min-height: 320px;
  }
}

.adminSettingsDisclosure {
  gap: 10px;
  display: grid;
}

.adminSettingsDisclosure summary {
  cursor: pointer;
  font-weight: 700;
}

.adminBackupOpsPage {
  gap: 12px;
  overflow-x: clip;
}

.adminBackupOpsLocalTabs {
  border-bottom: 1px solid var(--stroke);
  scrollbar-width: none;
  flex-wrap: nowrap;
  gap: 18px;
  margin: -2px 0 0;
  display: flex;
  overflow-x: auto;
}

.adminBackupOpsLocalTabs::-webkit-scrollbar {
  display: none;
}

.adminBackupOpsLocalTab {
  min-height: 42px;
  color: var(--muted);
  white-space: nowrap;
  border-bottom: 3px solid #0000;
  flex: none;
  align-items: center;
  padding: 0 2px;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  display: inline-flex;
}

.adminBackupOpsLocalTab:hover, .adminBackupOpsLocalTab.isActive {
  color: var(--fg);
}

.adminBackupOpsLocalTab.isActive {
  border-bottom-color: var(--focus);
}

.adminBackupOpsHeroCard, .adminBackupOpsSurface, .adminBackupOpsRestoreCard {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  box-shadow: none;
  background: #fff;
}

.adminBackupOpsHeroCard {
  box-shadow: none;
  background: #fff;
}

.adminBackupOpsHeroBody, .adminBackupOpsRestoreBody {
  gap: 16px;
  padding: 18px;
  display: grid;
}

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

.adminBackupOpsHeroCopy, .adminBackupOpsRestoreCopy, .adminBackupOpsSurfaceBody {
  gap: 10px;
  min-width: 0;
  display: grid;
}

.adminBackupOpsHeroTitle {
  font-size: clamp(26px, 2.4vw, 34px);
  line-height: .98;
}

.adminBackupOpsStatusHero {
  border-left: 3px solid color-mix(in srgb, var(--stroke), var(--fg) 8%);
}

.adminBackupOpsStatusHero.isSuccess {
  border-left-color: var(--success);
}

.adminBackupOpsStatusHero.isPrimary {
  border-left-color: var(--focus);
}

.adminBackupOpsStatusHero.isDanger {
  border-left-color: var(--danger);
}

.adminBackupOpsStatusHero.isLoading {
  border-left-color: color-mix(in srgb, var(--stroke), var(--muted) 14%);
}

.adminBackupOpsStatusTitleRow {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.adminBackupOpsStatusTitleRow .adminBackupOpsStatusPill {
  text-transform: none;
}

.adminBackupOpsHeroHeader {
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  display: flex;
}

.adminBackupOpsHeroFacts {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 24%);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 14px 0 0;
  display: grid;
}

.adminBackupOpsHeroFacts div {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.adminBackupOpsHeroFacts dt, .adminBackupOpsProtectedMetrics span, .adminBackupOpsCheckItem span {
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 780;
  line-height: 1.2;
}

.adminBackupOpsHeroFacts dd {
  color: var(--fg);
  overflow-wrap: anywhere;
  margin: 0;
  font-size: 16px;
  font-weight: 780;
  line-height: 1.2;
}

.adminBackupOpsHeroFactsLoading dd {
  color: var(--muted);
  font-weight: 700;
}

.adminBackupOpsHeroIntro {
  max-width: 68ch;
  font-size: 15px;
}

.adminBackupOpsEyebrow {
  color: var(--muted);
  letter-spacing: .12em;
  text-transform: uppercase;
  margin: 0;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
}

.adminBackupOpsHeroMeta, .adminBackupOpsActionRow, .adminBackupOpsHeroActions, .adminBackupOpsSectionHead, .adminBackupOpsFamilyList {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.adminBackupOpsHeroActions {
  justify-content: flex-end;
  margin-top: 0;
  margin-left: auto;
  padding-top: 0;
}

.adminBackupOpsHeaderActions {
  align-self: center;
  gap: 10px;
  max-width: min(100%, 720px);
}

.adminBackupOpsHeaderActions .btn {
  border-radius: 9px;
  min-height: 44px;
}

.adminBackupOpsHeroActions .btn, .adminStorageInlineAction {
  justify-content: center;
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.adminBackupOpsRefreshAction {
  min-height: 36px;
  color: var(--muted);
  padding: 6px 10px;
  font-size: 13px;
}

.adminBackupOpsSetupNotice {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: calc(var(--radius) + 4px);
  background: color-mix(in srgb, white, var(--bg-2) 12%);
  color: var(--muted);
  grid-column: 1 / -1;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  padding: 14px 16px;
  line-height: 1.4;
  display: grid;
}

.adminBackupOpsSetupNoticeIcon {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  width: 26px;
  height: 26px;
  color: var(--fg);
  background: #fff;
  border-radius: 999px;
  place-items: center;
  font-weight: 900;
  line-height: 1;
  display: inline-grid;
}

.adminBackupOpsSetupNoticeBody {
  gap: 10px;
  min-width: 0;
  display: grid;
}

.adminBackupOpsSetupNoticeHeader {
  gap: 3px;
  display: grid;
}

.adminBackupOpsSetupNotice strong {
  color: var(--fg);
}

.adminBackupOpsSetupTechnical {
  max-width: 100%;
  color: var(--muted);
  gap: 10px;
  font-size: 12px;
  display: grid;
}

.adminBackupOpsSetupTechnical summary {
  cursor: pointer;
  width: fit-content;
  color: var(--fg);
  font-weight: 700;
}

.adminBackupOpsSetupTechnical .mono {
  overflow-wrap: anywhere;
}

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

.adminBackupOpsSetupChecklistItem {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-radius: var(--radius);
  background: color-mix(in srgb, white, var(--bg-2) 10%);
  gap: 7px;
  min-width: 0;
  padding: 10px 12px;
  display: grid;
}

.adminBackupOpsSetupChecklistItem span {
  gap: 2px;
  display: grid;
}

.adminBackupOpsSetupChecklistItem small {
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 700;
}

.adminBackupOpsSetupChecklistItem code, .adminBackupOpsSetupCommand {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-radius: calc(var(--radius) - 2px);
  background: color-mix(in srgb, white, var(--bg-2) 18%);
  width: fit-content;
  max-width: 100%;
  color: var(--fg);
  overflow-wrap: anywhere;
  padding: 4px 7px;
}

.adminBackupOpsSetupCommand {
  box-sizing: border-box;
  width: 100%;
}

.adminBackupOpsSetupNotice.isReady {
  border-color: color-mix(in srgb, var(--success), transparent 52%);
  background: color-mix(in srgb, var(--success), white 96%);
}

.adminBackupOpsSetupNotice.isReady .adminBackupOpsSetupNoticeIcon {
  border-color: color-mix(in srgb, var(--success), transparent 42%);
  color: color-mix(in srgb, var(--success), black 18%);
}

.adminBackupOpsSetupNotice.isPending {
  border-color: color-mix(in srgb, var(--warning), transparent 46%);
  background: color-mix(in srgb, var(--warning), white 94%);
}

.adminBackupOpsSetupNotice.isPending .adminBackupOpsSetupNoticeIcon {
  border-color: color-mix(in srgb, var(--warning), transparent 34%);
  color: color-mix(in srgb, var(--warning), black 34%);
}

.adminBackupOpsStrongAction, .adminBackupOpsSaveButton {
  min-width: 154px;
  box-shadow: 0 8px 18px #2848921f;
}

.adminBackupOpsQuietAction {
  color: var(--muted);
}

.adminBackupOpsCoverageList {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  margin-top: 12px;
  display: grid;
}

.adminBackupOpsCoverageRow {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 14px 0;
  display: grid;
}

.adminBackupOpsCoverageRow > strong {
  text-align: right;
  justify-self: end;
  font-size: 14px;
}

.adminBackupOpsCoverageMark {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 74%);
  background: color-mix(in srgb, var(--focus), white 94%);
  width: 36px;
  height: 36px;
  color: color-mix(in srgb, var(--success), black 24%);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  font-weight: 900;
  display: inline-flex;
}

.adminBackupOpsCoverageMark.isNeutral {
  border-color: color-mix(in srgb, var(--stroke), transparent 18%);
  background: color-mix(in srgb, var(--bg-2), white 18%);
  color: var(--muted);
}

.adminBackupOpsCoverageMark.isIcon {
  color: var(--focus);
}

.adminBackupOpsCoverageMark.isIcon.isNeutral {
  color: color-mix(in srgb, var(--muted), var(--fg) 16%);
}

.adminBackupOpsPlanSummary {
  border-top: 1px solid var(--stroke);
  display: grid;
}

.adminBackupOpsPlanSummary div {
  border-bottom: 1px solid var(--stroke);
  grid-template-columns: minmax(120px, .42fr) minmax(0, 1fr);
  gap: 14px;
  padding: 12px 0;
  display: grid;
}

.adminBackupOpsPlanSummary span {
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 760;
}

.adminBackupOpsPlanSummary strong {
  overflow-wrap: anywhere;
}

.adminBackupOpsDiagnosticsStack {
  gap: 16px;
  display: grid;
}

.adminBackupOpsRestoreSelectedBackup, .adminBackupOpsDetailSummary, .adminBackupOpsReadonlyValue {
  border: 1px solid var(--stroke);
  background: var(--bg-2);
  border-radius: 10px;
}

.adminBackupOpsRestoreSelectedBackup {
  gap: 4px;
  padding: 14px;
  display: grid;
}

.adminBackupOpsRestoreSelectedBackup span {
  color: var(--muted);
}

.adminBackupOpsAlternateSource {
  border-top: 1px dashed var(--stroke);
  padding-top: 12px;
}

.adminBackupOpsAlternateSource summary {
  cursor: pointer;
  color: var(--muted);
  font-weight: 800;
}

.adminBackupOpsAlternateSource[open] summary {
  margin-bottom: 12px;
}

.adminBackupOpsDetailSummary {
  gap: 14px;
  padding: 14px;
  display: grid;
}

.adminBackupOpsReadonlyValue {
  align-items: center;
  min-height: 44px;
  padding: 0 12px;
  font-weight: 800;
  display: flex;
}

.adminBackupOpsChip {
  border-color: color-mix(in srgb, var(--stroke), transparent 8%);
  background: color-mix(in srgb, white, var(--bg-2) 12%);
  color: var(--fg);
  font-weight: 700;
}

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

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

.adminBackupOpsNoticeGrid {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, var(--bg-2), white 36%);
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px;
  display: flex;
}

.adminBackupOpsMetricCard {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  border-radius: calc(var(--radius) + 6px);
  background: color-mix(in srgb, white, var(--bg-2) 14%);
  align-content: start;
  gap: 8px;
  min-width: 0;
  min-height: 118px;
  padding: 16px 18px;
  display: grid;
  box-shadow: inset 0 1px #ffffffb8;
}

.adminBackupOpsMetricCard.isPrimary {
  border-color: color-mix(in srgb, var(--stroke), transparent 8%);
  background: color-mix(in srgb, white, var(--bg-2) 12%);
  box-shadow: inset 0 1px #ffffffb8;
}

.adminBackupOpsMetricCard.isSuccess {
  border-color: color-mix(in srgb, var(--success), transparent 45%);
  background: color-mix(in srgb, var(--success), white 95%);
}

.adminBackupOpsMetricCard.isDanger {
  border-color: color-mix(in srgb, var(--danger), transparent 42%);
  background: color-mix(in srgb, var(--danger), white 95%);
}

.adminBackupOpsMetricValue {
  overflow-wrap: anywhere;
  font-size: clamp(21px, 2vw, 28px);
  line-height: 1;
  display: block;
}

.adminBackupOpsMetricHint {
  font-size: 12px;
  line-height: 1.35;
}

.adminBackupOpsLoadingSurface {
  min-height: 210px;
}

.adminBackupOpsLoadingGrid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding-top: 8px;
  display: grid;
}

.adminBackupOpsLoadingBlock {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  border-radius: calc(var(--radius) + 4px);
  background: linear-gradient(90deg, transparent, #ffffffb8, transparent),
    color-mix(in srgb, white, var(--bg-2) 16%);
  background-size: 220px 100%, 100% 100%;
  min-height: 96px;
}

.adminBackupOpsLoadingBlock.isWide {
  grid-column: 1 / -1;
  min-height: 118px;
}

.adminStorageLoadingStack {
  gap: 14px;
  display: grid;
}

.adminStorageLoadingBlockCompact {
  min-height: 72px;
}

.adminStorageLoadingTable {
  min-height: 96px;
}

.adminBackupOpsSurfaceBody {
  padding: 18px 20px;
}

.adminBackupOpsBreakdownBody {
  gap: 9px;
  padding: 16px 20px;
  display: grid;
}

.adminBackupOpsExplainBox {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-radius: calc(var(--radius) + 4px);
  background: color-mix(in srgb, white, var(--bg-2) 12%);
  gap: 12px;
  padding: 14px;
  display: grid;
}

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

.adminBackupOpsProtectedList {
  gap: 0;
  margin-top: 4px;
  display: grid;
}

.adminBackupOpsProtectedRow {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 22%);
  grid-template-columns: minmax(190px, .62fr) minmax(0, 1.7fr);
  align-items: start;
  gap: 24px;
  padding: 18px 0;
  display: grid;
}

.adminBackupOpsProtectedRow > div:first-child {
  gap: 4px;
  display: grid;
}

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

.adminBackupOpsProtectedMetrics div {
  border-right: 1px solid color-mix(in srgb, var(--stroke), transparent 25%);
  gap: 6px;
  min-width: 0;
  padding: 1px 16px 1px 0;
  display: grid;
}

.adminBackupOpsProtectedMetrics div:last-child {
  border-right: 0;
}

.adminBackupOpsProtectedMetrics strong {
  color: var(--fg);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 15px;
  font-weight: 780;
  line-height: 1.25;
  overflow: hidden;
}

.adminBackupOpsInlineDetails {
  border: 0;
  border-top: 1px dashed color-mix(in srgb, var(--stroke), transparent 20%);
  background: none;
  grid-column: 1 / -1;
  min-width: 0;
}

.adminBackupOpsInlineDetails summary {
  cursor: pointer;
  width: fit-content;
  color: color-mix(in srgb, var(--fg), var(--muted) 22%);
  padding: 9px 0 0;
  font-size: 12px;
  font-weight: 760;
}

.adminBackupOpsInlineDetails .adminBackupOpsMetaGrid {
  padding: 0 12px 12px;
}

.adminBackupOpsContentItem {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg), white 54%);
  gap: 5px;
  min-width: 0;
  padding: 12px;
  display: grid;
  overflow: hidden;
}

.adminBackupOpsContentItem strong {
  overflow-wrap: anywhere;
  font-size: 17px;
  line-height: 1.1;
}

.adminBackupOpsContentItem .muted {
  overflow-wrap: anywhere;
  font-size: 12px;
  line-height: 1.35;
}

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

.adminBackupOpsBreakdownItem {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, white, var(--bg-2) 18%);
  gap: 6px;
  min-width: 0;
  min-height: 94px;
  padding: 12px 14px;
  display: grid;
}

.adminBackupOpsBreakdownItem.isMeasured {
  border-color: color-mix(in srgb, var(--stroke), transparent 8%);
  background: color-mix(in srgb, white, var(--bg-2) 12%);
}

.adminBackupOpsBreakdownValue {
  overflow-wrap: anywhere;
  font-size: clamp(18px, 1.7vw, 24px);
  line-height: 1;
  display: block;
}

.adminBackupOpsSectionHead {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 24%);
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 12px;
}

.adminBackupOpsConfigSummary {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 24%);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  display: grid;
  overflow: hidden;
}

.adminBackupOpsConfigSummary div {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 24%);
  border-right: 1px solid color-mix(in srgb, var(--stroke), transparent 28%);
  gap: 6px;
  min-width: 0;
  padding: 15px 16px;
  display: grid;
}

.adminBackupOpsConfigSummary div:nth-child(3n) {
  border-right: 0;
}

.adminBackupOpsConfigSummary span {
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 740;
}

.adminBackupOpsConfigSummary strong {
  color: var(--fg);
  overflow-wrap: anywhere;
  font-size: 15px;
  font-weight: 760;
  line-height: 1.35;
}

.adminBackupOpsEditConfig {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 24%);
  border-radius: var(--radius);
  background: color-mix(in srgb, white, var(--bg-2) 7%);
  margin-top: 14px;
}

.adminBackupOpsEditConfig > summary {
  cursor: pointer;
  padding: 13px 15px;
  list-style: none;
}

.adminBackupOpsEditConfig > summary::-webkit-details-marker {
  display: none;
}

.adminBackupOpsEditConfig > summary > span {
  gap: 4px;
  display: grid;
}

.adminBackupOpsEditConfig > summary strong {
  color: var(--fg);
  font-size: 15px;
}

.adminBackupOpsEditConfig > summary span span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.adminBackupOpsEditConfig > .adminBackupOpsConfigGrid {
  padding: 0 14px 14px;
}

.adminBackupOpsFormActions {
  justify-content: flex-end;
  padding: 0 14px 14px;
  display: flex;
}

.adminBackupOpsConfigGrid, .adminBackupOpsBottomGrid, .adminBackupOpsDecisionGrid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  display: grid;
}

.adminBackupOpsBottomGrid {
  align-items: start;
}

.adminBackupOpsConfigGroup {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 20%);
  border-radius: var(--radius);
  background: color-mix(in srgb, white, var(--bg-2) 10%);
  gap: 12px;
  min-width: 0;
  padding: 16px;
  display: grid;
}

.adminBackupOpsConfigAdvanced {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-radius: calc(var(--radius) + 4px);
  background: color-mix(in srgb, white, var(--bg-2) 14%);
  grid-column: 1 / -1;
  gap: 12px;
  min-width: 0;
  padding: 0;
  display: grid;
}

.adminBackupOpsConfigAdvanced summary {
  cursor: pointer;
  gap: 4px;
  padding: 14px 16px;
  list-style: none;
  display: grid;
}

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

.adminBackupOpsConfigAdvanced summary span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.adminBackupOpsConfigAdvanced > .adminBackupOpsConfigGrid {
  padding: 0 14px 14px;
}

.adminBackupOpsAdvancedChecks {
  border-style: dashed;
  border-color: color-mix(in srgb, var(--stroke), transparent 36%);
  box-shadow: none;
  background: none;
  overflow: hidden;
}

.adminBackupOpsAdvancedSummary {
  cursor: pointer;
  padding: 14px 18px;
  list-style: none;
}

.adminBackupOpsAdvancedSummary::-webkit-details-marker {
  display: none;
}

.adminBackupOpsAdvancedSummary > span {
  gap: 4px;
  display: grid;
}

.adminBackupOpsAdvancedSummary strong {
  color: color-mix(in srgb, var(--fg), var(--muted) 20%);
  font-size: 15px;
}

.adminBackupOpsAdvancedSummary span span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.adminBackupOpsAdvancedChecksBody {
  gap: 14px;
  padding: 0 14px 14px;
  display: grid;
}

.adminBackupOpsAdvancedChecksBody > .adminBackupOpsSurface {
  box-shadow: none;
}

.adminBackupOpsFamiliesGroup {
  align-content: start;
}

.adminBackupOpsGroupTitle {
  color: color-mix(in srgb, var(--fg), black 6%);
  margin: 0;
  font-size: 15px;
  line-height: 1.2;
}

.adminBackupOpsDecisionText {
  color: var(--fg);
  margin: 0;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.45;
}

.adminBackupOpsField, .adminBackupOpsFieldPair {
  gap: 8px;
  min-width: 0;
  display: grid;
}

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

.adminBackupOpsToggle {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg), white 52%);
  cursor: pointer;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  min-height: 54px;
  padding: 12px;
  display: grid;
}

.adminBackupOpsToggle input {
  margin: 2px 0 0;
}

.adminBackupOpsToggle span {
  gap: 3px;
  display: grid;
}

.adminBackupOpsFamilyText {
  color: var(--fg);
  margin: 0;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.45;
}

.adminBackupOpsRestoreBody {
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
}

.adminBackupOpsRestoreCopy {
  align-content: center;
  max-width: 760px;
}

.adminBackupOpsRestorePanel {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: calc(var(--radius) + 4px);
  background: color-mix(in srgb, white, var(--bg-2) 12%);
  gap: 12px;
  min-width: 0;
  padding: 16px;
  display: grid;
}

.adminBackupOpsRestoreFields {
  grid-template-columns: minmax(0, 1.2fr) minmax(140px, .6fr);
  gap: 12px;
  display: grid;
}

.adminBackupOpsRestoreConfirm {
  grid-column: 1 / -1;
}

.adminBackupOpsRestoreWizardCard {
  width: min(920px, 100%);
  max-height: min(86dvh, 860px);
  overflow: auto;
}

.adminBackupOpsWizardSteps, .adminBackupOpsSourceGrid, .adminBackupOpsCheckList {
  gap: 10px;
  display: grid;
}

.adminBackupOpsWizardSteps {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.adminBackupOpsChip.isActive {
  border-color: color-mix(in srgb, var(--focus), transparent 46%);
  background: color-mix(in srgb, var(--focus), white 94%);
  color: color-mix(in srgb, var(--focus), black 16%);
}

.adminBackupOpsWizardPanel {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, white, var(--bg-2) 14%);
  gap: 12px;
  padding: 14px;
  display: grid;
}

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

.adminBackupOpsSourceOption {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg-2), white 48%);
  min-height: 112px;
  color: var(--fg);
  cursor: pointer;
  font: inherit;
  text-align: left;
  gap: 6px;
  padding: 12px;
  display: grid;
}

.adminBackupOpsSourceOption:disabled {
  cursor: not-allowed;
  opacity: .58;
}

.adminBackupOpsSourceOption.isSelected {
  border-color: color-mix(in srgb, var(--focus), transparent 36%);
  background: color-mix(in srgb, var(--focus), white 95%);
}

.adminBackupOpsSourceOption strong {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  line-height: 1.2;
  display: flex;
}

.adminBackupOpsSourceOption span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

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

.adminBackupOpsCheckItem {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg-2), white 48%);
  grid-template-columns: 46px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 10px 12px;
  display: grid;
}

.adminBackupOpsCheckItem.passed {
  border-color: color-mix(in srgb, var(--success), transparent 52%);
  background: color-mix(in srgb, var(--success), white 95%);
}

.adminBackupOpsCheckItem.failed {
  border-color: color-mix(in srgb, var(--danger), transparent 48%);
  background: color-mix(in srgb, var(--danger), white 95%);
}

.adminBackupOpsCheckItem.warning {
  border-color: color-mix(in srgb, var(--warning), transparent 48%);
  background: color-mix(in srgb, var(--warning), white 94%);
}

.adminBackupOpsRestoreResult {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg-2), white 48%);
  gap: 4px;
  padding: 12px;
  display: grid;
}

.adminBackupOpsRestoreResult.isSuccess {
  border-color: color-mix(in srgb, var(--success), transparent 52%);
  background: color-mix(in srgb, var(--success), white 95%);
}

.adminBackupOpsRestoreResult.isDanger {
  border-color: color-mix(in srgb, var(--danger), transparent 48%);
  background: color-mix(in srgb, var(--danger), white 95%);
}

.adminBackupOpsRestoreResult p {
  color: var(--muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
}

.adminBackupOpsDangerAction {
  margin-left: auto;
}

.adminBackupOpsEmptyInline, .adminBackupOpsEmptyState {
  color: var(--muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
}

.adminBackupOpsEmptyState {
  border: 1px dashed color-mix(in srgb, var(--stroke), transparent 10%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, var(--bg-2), var(--bg) 16%);
  gap: 4px;
  padding: 16px;
  display: grid;
}

.adminBackupOpsEmptyState strong {
  color: var(--fg);
  font-size: 14px;
}

.adminBackupOpsEmptyState span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.adminBackupOpsInventorySummary {
  color: var(--muted);
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  font-size: 13px;
  font-weight: 750;
  display: flex;
}

.adminBackupOpsInventorySummary span + span:before {
  content: "/";
  color: color-mix(in srgb, var(--muted), transparent 35%);
  margin-right: 8px;
}

.adminBackupOpsBackupTableWrap {
  max-height: min(580px, calc(100vh - var(--admin-shell-header-height) - 220px));
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  max-width: 100%;
  display: block;
  overflow: auto;
}

.adminBackupOpsBackupTable {
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  width: 100%;
}

.adminBackupOpsBackupColCopy {
  width: 24%;
}

.adminBackupOpsBackupColStatus {
  width: 12%;
}

.adminBackupOpsBackupColContents {
  width: 14%;
}

.adminBackupOpsBackupColChecks {
  width: 17%;
}

.adminBackupOpsBackupColStorage {
  width: 19%;
}

.adminBackupOpsBackupColActions {
  width: 14%;
}

.adminBackupOpsBackupTable th, .adminBackupOpsBackupTable td {
  text-align: left;
  vertical-align: middle;
  min-width: 0;
}

.adminBackupOpsBackupTable thead th {
  z-index: 1;
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  background: #fff;
  padding: 11px 10px;
  font-size: 11px;
  font-weight: 800;
  position: sticky;
  top: 0;
}

.adminBackupOpsBackupTable tbody td {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 28%);
  color: var(--fg);
  padding: 12px 10px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

.adminBackupOpsBackupTable tbody tr:last-child td {
  border-bottom: 0;
}

.adminBackupOpsBackupTable tbody tr:hover {
  background: color-mix(in srgb, var(--focus), white 98%);
}

.adminBackupOpsBackupCellMain {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.adminBackupOpsBackupCellCompact {
  min-width: 110px;
}

.adminBackupOpsBackupCellMain strong {
  color: var(--fg);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.25;
}

.adminBackupOpsBackupCellMain span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
}

.adminBackupOpsBackupCellError {
  overflow-wrap: anywhere;
  color: var(--danger) !important;
}

.adminBackupOpsBackupActionsHead {
  text-align: left !important;
}

.adminBackupOpsBackupTableActions {
  justify-items: start;
  gap: 4px;
  display: grid;
}

.adminBackupOpsTableAction {
  appearance: none;
  color: var(--focus);
  cursor: pointer;
  font: inherit;
  white-space: nowrap;
  background: none;
  border: 0;
  padding: 0;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
}

.adminBackupOpsTableAction:hover {
  text-underline-offset: 3px;
  text-decoration: underline;
}

.adminBackupOpsTableAction:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), white 15%);
  outline-offset: 3px;
  border-radius: 4px;
}

.adminBackupOpsTableAction:disabled {
  color: color-mix(in srgb, var(--muted), transparent 35%);
  cursor: not-allowed;
  text-decoration: none;
}

.adminBackupOpsTableAction.isDanger {
  color: var(--danger);
}

.adminBackupOpsHistoryList {
  gap: 0;
  display: grid;
}

.adminBackupOpsHistoryItem {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 24%);
  gap: 12px;
  min-width: 0;
  padding: 18px 0;
  display: grid;
  overflow-x: hidden;
}

.adminBackupOpsRunHeader, .adminBackupOpsRunPrimary, .adminBackupOpsRunFooter, .adminBackupOpsArtifactList {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.adminBackupOpsRunHeader {
  justify-content: space-between;
  gap: 12px;
}

.adminBackupOpsRunPrimary {
  flex: 240px;
}

.adminBackupOpsRunIdentity {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminBackupOpsRunIdentity p {
  color: var(--muted);
  font-family: var(--font-mono);
  margin: 0;
  font-size: 12px;
}

.adminBackupOpsRunTitle {
  color: var(--fg);
  margin: 0;
  font-size: 16px;
  line-height: 1.2;
}

.adminBackupOpsRunSnapshot {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 30%);
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  padding-top: 12px;
  display: grid;
}

.adminBackupOpsRunSnapshot div {
  border-right: 1px solid color-mix(in srgb, var(--stroke), transparent 28%);
  gap: 4px;
  min-width: 0;
  padding: 0 10px 0 0;
  display: grid;
}

.adminBackupOpsRunSnapshot div:last-child {
  border-right: 0;
}

.adminBackupOpsRunSnapshot span {
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 740;
}

.adminBackupOpsRunSnapshot strong {
  color: var(--fg);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 760;
  line-height: 1.25;
  overflow: hidden;
}

.adminBackupOpsRunActions {
  justify-content: flex-end;
}

.adminBackupOpsRunFooter {
  color: var(--muted);
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
}

.adminBackupOpsRunFooter span + span:before {
  content: "/";
  color: color-mix(in srgb, var(--muted), transparent 35%);
  margin-right: 6px;
}

.adminBackupOpsMetaGrid {
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, .8fr);
  gap: 8px;
  display: grid;
}

.adminBackupOpsLocationGrid {
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.1fr);
}

.adminBackupOpsMetaItem {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg-2), var(--bg) 18%);
  gap: 4px;
  min-width: 0;
  padding: 10px 12px;
  display: grid;
}

.adminBackupOpsMetaItem > span:first-child {
  color: var(--muted);
  font-size: 12px;
}

.adminBackupOpsMetaItem > span:last-child {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  overflow: hidden;
}

.adminBackupOpsFailureDetails {
  border: 1px solid color-mix(in srgb, var(--danger), transparent 58%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--danger), white 96%);
  min-width: 0;
  color: color-mix(in srgb, var(--danger), black 18%);
}

.adminBackupOpsFailureDetails summary {
  cursor: pointer;
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 800;
}

.adminBackupOpsFailureDetails p {
  color: color-mix(in srgb, var(--fg), var(--danger) 28%);
  overflow-wrap: anywhere;
  margin: 0;
  padding: 0 12px 12px;
  font-size: 13px;
  line-height: 1.45;
}

.adminBackupOpsOperationRef {
  text-overflow: ellipsis;
  white-space: nowrap;
  gap: 4px;
  min-width: 0;
  margin: 0;
  font-size: 13px;
  display: grid;
  overflow: hidden;
}

.adminBackupOpsOperationRef span {
  color: var(--muted);
  font-size: 11px;
  font-family: var(--font-sans);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 800;
}

.adminBackupOpsRawDetails {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg-2), white 42%);
  overflow: hidden;
}

.adminBackupOpsRawDetails[open] {
  padding-bottom: 12px;
}

.adminBackupOpsRawDetails summary {
  cursor: pointer;
  color: var(--fg);
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 800;
}

.adminBackupOpsRawDetails .adminBackupOpsOperationRef {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  border-radius: var(--radius);
  background: var(--bg);
  white-space: normal;
  margin: 0 12px 12px;
  padding: 10px 12px;
}

.adminBackupOpsOperationTimingGrid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 0 12px 10px;
}

.adminBackupOpsOperationTimingGrid .adminBackupOpsMetaItem {
  background: var(--bg);
}

.adminBackupOpsOperationTimingGrid .adminBackupOpsMetaItem > span:last-child {
  white-space: normal;
}

.adminBackupOpsFailureInline {
  border: 1px solid color-mix(in srgb, var(--danger), transparent 58%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--danger), white 96%);
  color: color-mix(in srgb, var(--danger), black 18%);
  gap: 6px;
  margin: 0 12px 12px;
  padding: 10px 12px;
  display: grid;
}

.adminBackupOpsFailureInline strong {
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
}

.adminBackupOpsFailureInline p {
  color: color-mix(in srgb, var(--fg), var(--danger) 28%);
  overflow-wrap: anywhere;
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
}

.adminBackupOpsStatusPill {
  color: #344054;
  text-transform: none;
  background: #f9fafb;
  border: 1px solid #d0d5dd;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  width: fit-content;
  min-height: 22px;
  padding: 3px 8px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  display: inline-flex;
}

.adminBackupOpsStatusPill:before {
  content: "";
  background: currentColor;
  border-radius: 999px;
  width: 6px;
  height: 6px;
}

.adminBackupOpsStatusPill.isPrimary {
  color: #175cd3;
  background: #eff8ff;
  border-color: #b2ddff;
}

.adminBackupOpsStatusPill.isSuccess {
  color: #067647;
  background: #ecfdf3;
  border-color: #abefc6;
}

.adminBackupOpsStatusPill.isDanger {
  color: #b42318;
  background: #fef3f2;
  border-color: #fecdca;
}

.adminBackupOpsStatusPill.isWarning {
  color: #b54708;
  background: #fffaeb;
  border-color: #fedf89;
}

.adminBackupOpsStatusPill.isNeutral {
  color: #475467;
  background: #f9fafb;
  border-color: #d0d5dd;
}

.adminBackupOpsDetailDialogCard {
  width: min(860px, 100%);
}

.adminBackupOpsAdvancedRefs {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, var(--bg-2), white 42%);
  gap: 10px;
  padding: 14px;
  display: grid;
}

.adminBackupOpsDeleteDialogCard {
  width: min(600px, 100%);
}

.adminBackupOpsDialogBody {
  gap: 16px;
}

.adminBackupOpsDialogHeader, .adminBackupOpsArtifactTableHead, .adminBackupOpsArtifactTableRow {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
  display: grid;
}

.adminBackupOpsDialogHeader {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  padding-bottom: 14px;
}

.adminBackupOpsArtifactTable {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-radius: calc(var(--radius) + 2px);
  gap: 0;
  display: grid;
  overflow: hidden;
}

.adminBackupOpsArtifactTableHead, .adminBackupOpsArtifactTableRow {
  grid-template-columns: minmax(160px, 1.2fr) minmax(90px, .45fr) minmax(160px, 1fr);
  padding: 11px 12px;
}

.adminBackupOpsArtifactTableHead {
  background: color-mix(in srgb, var(--bg-2), white 28%);
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 850;
}

.adminBackupOpsArtifactTableRow {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 20%);
  font-size: 13px;
}

.adminBackupOpsArtifactTableRow span {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.adminBackupOpsPageChrome {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  height: 6px;
  margin-top: -42px;
  display: flex;
  overflow: visible;
}

.adminBackupOpsPageChrome .adminSettingsIntro {
  margin: 0;
}

.adminStorageOverviewCard {
  overflow: hidden;
}

.adminStorageOverviewHead {
  border-bottom: 0;
  padding-bottom: 0;
}

.adminStorageOverviewTitleBlock {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.adminStorageOverviewMeta {
  color: color-mix(in srgb, var(--muted), var(--fg) 28%);
  flex-wrap: wrap;
  gap: 8px 12px;
  font-size: 13px;
  font-weight: 800;
  display: flex;
}

.adminStorageOverviewMeta span + span:before {
  content: "/";
  color: color-mix(in srgb, var(--muted), transparent 24%);
  margin-right: 12px;
}

.adminStorageTitleWithIcon {
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.adminStorageTitleWithIcon .adminSettingsChecklistTitle {
  margin: 0;
}

.adminStorageIconBadge {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 72%);
  background: color-mix(in srgb, var(--focus), white 94%);
  width: 38px;
  height: 38px;
  color: var(--focus);
  border-radius: 12px;
  flex: none;
  place-items: center;
  display: inline-grid;
  box-shadow: inset 0 -1px #ffffffd9;
}

.adminStorageIconBadge.isgreen {
  border-color: color-mix(in srgb, var(--success), transparent 68%);
  background: color-mix(in srgb, var(--success), white 93%);
  color: color-mix(in srgb, var(--success), black 10%);
}

.adminStorageIconBadge.isamber {
  border-color: color-mix(in srgb, var(--warning), transparent 58%);
  background: color-mix(in srgb, var(--warning), white 91%);
  color: color-mix(in srgb, var(--warning), black 24%);
}

.adminStorageIconBadge.isred {
  border-color: color-mix(in srgb, var(--danger), transparent 64%);
  background: color-mix(in srgb, var(--danger), white 93%);
  color: color-mix(in srgb, var(--danger), black 10%);
}

.adminStorageIconBadge.isgray {
  border-color: color-mix(in srgb, var(--stroke), transparent 10%);
  background: color-mix(in srgb, var(--bg-2), white 18%);
  color: color-mix(in srgb, var(--muted), var(--fg) 12%);
}

.adminStorageIconBadge.ispurple {
  color: #6d28d9;
  background: #f6f1fe;
  border-color: #7c3aed52;
}

.adminStorageIconBadge.isCenter {
  border-color: color-mix(in srgb, var(--focus), transparent 52%);
  background: color-mix(in srgb, var(--focus), white 92%);
  width: 54px;
  height: 54px;
  color: var(--focus);
  box-shadow: none;
  border-radius: 14px;
}

.adminStorageIconBadge.isCenter svg {
  filter: none;
}

.adminStorageStackedBar {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  background: color-mix(in srgb, var(--bg-2), white 20%);
  border-radius: 999px;
  width: 100%;
  height: 16px;
  display: flex;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px #ffffff61;
}

.adminStorageStackedSegment {
  background: color-mix(in srgb, var(--muted), white 52%);
  min-width: 3px;
  height: 100%;
  display: block;
}

.adminStorageStackedSegment.isFull {
  width: 100%;
}

.adminStorageStackedSegment.isWidth3 {
  width: 3%;
}

.adminStorageStackedSegment.isWidth5 {
  width: 5%;
}

.adminStorageStackedSegment.isWidth10 {
  width: 10%;
}

.adminStorageStackedSegment.isWidth15 {
  width: 15%;
}

.adminStorageStackedSegment.isWidth20 {
  width: 20%;
}

.adminStorageStackedSegment.isWidth25 {
  width: 25%;
}

.adminStorageStackedSegment.isWidth30 {
  width: 30%;
}

.adminStorageStackedSegment.isWidth35 {
  width: 35%;
}

.adminStorageStackedSegment.isWidth40 {
  width: 40%;
}

.adminStorageStackedSegment.isWidth45 {
  width: 45%;
}

.adminStorageStackedSegment.isWidth50 {
  width: 50%;
}

.adminStorageStackedSegment.isWidth55 {
  width: 55%;
}

.adminStorageStackedSegment.isWidth60 {
  width: 60%;
}

.adminStorageStackedSegment.isWidth65 {
  width: 65%;
}

.adminStorageStackedSegment.isWidth70 {
  width: 70%;
}

.adminStorageStackedSegment.isWidth75 {
  width: 75%;
}

.adminStorageStackedSegment.isWidth80 {
  width: 80%;
}

.adminStorageStackedSegment.isWidth85 {
  width: 85%;
}

.adminStorageStackedSegment.isWidth90 {
  width: 90%;
}

.adminStorageStackedSegment.isWidth95 {
  width: 95%;
}

.adminStorageStackedSegment.isWidth100 {
  width: 100%;
}

.adminStorageStackedSegment.isPrimary {
  background: color-mix(in srgb, var(--focus), white 20%);
}

.adminStorageStackedSegment.isDanger {
  background: color-mix(in srgb, var(--danger), white 18%);
}

.adminStorageStackedSegment.isStorageBlue {
  background: #2f6fed;
}

.adminStorageStackedSegment.isStoragePink {
  background: #e6548a;
}

.adminStorageStackedSegment.isStoragePurple {
  background: #8d5cf6;
}

.adminStorageStackedSegment.isStorageViolet {
  background: #6f55e8;
}

.adminStorageStackedSegment.isStorageGreen {
  background: #35b86b;
}

.adminStorageStackedSegment.isStorageOrange {
  background: #f08a24;
}

.adminStorageStackedSegment.isStorageCyan {
  background: #33b9d6;
}

.adminStorageStackedSegment.isStorageTeal {
  background: #2aa99a;
}

.adminStorageStackedSegment + .adminStorageStackedSegment {
  border-left: 1px solid #ffffffb3;
}

.adminStorageFamilyGrid, .adminStorageOverviewGrid, .adminStorageOverviewGridWide, .adminStorageBackupsGrid, .adminStorageRestoreGrid {
  gap: 14px;
  display: grid;
}

.adminStorageFamilyGrid {
  border-top: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding-top: 4px;
}

.adminStorageFamilyRow {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 30%);
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
  height: 34px;
  padding: 5px 0;
  font-size: 12.5px;
  display: grid;
}

.adminStorageFamilyRow > strong, .adminStorageFamilyMetric span {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.adminStorageFamilyMetric {
  min-width: 0;
  color: var(--muted);
  grid-template-columns: minmax(0, auto) minmax(42px, auto);
  justify-content: end;
  align-items: center;
  gap: 10px;
  font-size: 12.5px;
  font-weight: 700;
  display: grid;
}

.adminStorageFamilyMetric small {
  color: var(--ink);
  text-align: right;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 850;
}

.adminStorageFamilyDot {
  background: color-mix(in srgb, var(--muted), white 36%);
  border-radius: 999px;
  width: 10px;
  height: 10px;
  box-shadow: 0 0 0 3px #0f172a09;
}

.adminStorageFamilyDot.isPrimary {
  background: var(--focus);
}

.adminStorageFamilyDot.isDanger {
  background: var(--danger);
}

.adminStorageFamilyDot.isStorageBlue {
  background: #2f6fed;
}

.adminStorageFamilyDot.isStoragePink {
  background: #e6548a;
}

.adminStorageFamilyDot.isStoragePurple {
  background: #8d5cf6;
}

.adminStorageFamilyDot.isStorageViolet {
  background: #6f55e8;
}

.adminStorageFamilyDot.isStorageGreen {
  background: #35b86b;
}

.adminStorageFamilyDot.isStorageOrange {
  background: #f08a24;
}

.adminStorageFamilyDot.isStorageCyan {
  background: #33b9d6;
}

.adminStorageFamilyDot.isStorageTeal {
  background: #2aa99a;
}

.adminStorageSignalStrip {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  color: var(--muted);
  background: #ffffffd1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 2px -20px -18px;
  font-size: 12.5px;
  font-weight: 750;
  display: grid;
}

.adminStorageSignalItem {
  align-items: center;
  gap: 9px;
  min-width: 0;
  min-height: 42px;
  padding: 9px 16px;
  display: inline-flex;
}

.adminStorageSignalItem + .adminStorageSignalItem {
  border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 20%);
}

.adminStorageSignalItem svg {
  color: var(--muted);
  flex: none;
}

.adminStorageSignalItem span {
  text-overflow: clip;
  white-space: normal;
  min-width: 0;
  line-height: 1.25;
  overflow: visible;
}

.adminStorageSignalItem.isDanger svg {
  color: var(--warning);
}

.adminStorageSignalItem.isDanger span {
  color: color-mix(in srgb, var(--warning), black 36%);
}

.adminStorageOverviewGrid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
}

.adminStorageOverviewGridWide {
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .8fr);
}

.adminStorageStatusCard {
  min-height: 0;
}

.adminStorageStatusCard > .adminBackupOpsSurfaceBody {
  grid-template-rows: auto 1fr;
  height: 100%;
}

.adminStorageStatusTitle {
  align-items: flex-start;
}

.adminStorageStatusTitle .adminSettingsChecklistTitle {
  font-size: 17px;
  line-height: 1.25;
}

.adminStorageProtectionSummary {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 24%);
  align-content: center;
  gap: 8px;
  min-height: 104px;
  padding-top: 14px;
  display: grid;
}

.adminStorageProtectionSummary div {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.adminStorageProtectionSummary strong {
  color: var(--fg);
  font-size: 14px;
  line-height: 1.25;
}

.adminStorageProtectionSummary span:not(.pill) {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.adminStorageStatusCenter {
  text-align: center;
  align-content: center;
  place-items: center;
  gap: 8px;
  min-height: 104px;
  padding: 4px 8px 2px;
  display: grid;
}

.adminStorageStatusCenter strong {
  font-size: 16px;
  line-height: 1.2;
}

.adminStorageStatusCenter span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.adminStorageStatusChips {
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  margin-top: 2px;
  display: flex;
}

.adminStorageRecommendationList, .adminStorageExcludedList {
  gap: 0;
  display: grid;
}

.adminStorageRecommendation {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 24%);
  grid-template-columns: auto minmax(0, 1fr) 236px;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  display: grid;
}

.adminStorageRecommendation .adminStorageIconBadge {
  border-color: color-mix(in srgb, var(--focus), transparent 72%);
  background: color-mix(in srgb, var(--focus), white 94%);
  width: 34px;
  height: 34px;
  color: var(--focus);
  border-radius: 999px;
}

.adminStorageRecommendation:first-child {
  border-top: 0;
}

.adminStorageRecommendation div {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.adminStorageRecommendation span, .adminStorageExcludedList span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.adminStorageInlineAction {
  inline-size: 236px;
  white-space: nowrap;
  justify-content: space-between;
  min-width: 0;
}

.adminStorageInsightPanel {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  border-radius: calc(var(--radius) + 2px);
  background: #fff;
  grid-template-columns: 96px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  min-height: 118px;
  padding: 16px;
  display: grid;
}

.adminStorageInsightGlyph {
  background: radial-gradient(circle at center, white 0 34%, transparent 35%),
    conic-gradient(#2f6fed 0 72%, #33b9d6 72% 82%, #35b86b 82% 90%, #8d5cf6 90% 96%, #f08a24 96% 100%);
  width: 92px;
  height: 92px;
  color: var(--focus);
  box-shadow: none;
  border-radius: 999px;
  place-items: center;
  display: grid;
}

.adminStorageInsightCopy {
  text-align: left;
  justify-items: start;
  gap: 8px;
  min-width: 0;
  display: grid;
}

.adminStorageInsightCopy strong {
  color: var(--fg);
  font-size: 15px;
  line-height: 1.25;
}

.adminStorageInsightCopy span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.adminStorageInsightAction {
  justify-content: space-between;
  justify-self: start;
  align-items: center;
  gap: 8px;
  margin-top: 2px;
  display: inline-flex;
}

.adminStorageBackupsGrid {
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, .85fr);
  align-items: start;
}

.adminBackupOpsBottomGrid {
  grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr);
  align-items: start;
}

.adminStorageRestoreGrid {
  grid-template-columns: minmax(260px, 1fr) minmax(260px, .9fr) minmax(220px, .7fr);
}

.adminStorageRestoreStack {
  gap: 18px;
  display: grid;
}

.adminStorageRestoreTopGrid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 16px;
  display: grid;
}

.adminStorageRestoreLowerGrid {
  grid-template-columns: minmax(0, 1.7fr) minmax(320px, .8fr);
  align-items: start;
  gap: 16px;
  display: grid;
}

.adminStorageRestoreSummaryCard, .adminStorageRestoreSummaryCard > .adminBackupOpsSurfaceBody {
  min-height: 100%;
}

.adminStorageReadinessRows, .adminStorageRestoreIncludedRows, .adminStorageExcludedRows, .adminStorageGuardrailList {
  gap: 0;
  display: grid;
}

.adminStorageReadinessRow, .adminStorageRestoreIncludedRow, .adminStorageExcludedRows article, .adminStorageGuardrailRow {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 24%);
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 13px 0;
  display: grid;
}

.adminStorageReadinessRow {
  grid-template-columns: auto minmax(0, 1fr) minmax(104px, auto);
}

.adminStorageReadinessIcon, .adminStorageRestoreIncludedRow > span, .adminStorageExcludedRows article > span, .adminStorageGuardrailIcon {
  background: color-mix(in srgb, var(--focus), white 92%);
  width: 30px;
  height: 30px;
  color: var(--focus);
  border-radius: 999px;
  place-items: center;
  display: inline-grid;
}

.adminStorageReadinessRow > div, .adminStorageReadinessValue {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.adminStorageReadinessRow strong, .adminStorageRestoreIncludedRow strong, .adminStorageExcludedRows strong, .adminStorageGuardrailRow strong {
  color: var(--fg);
  font-size: 13px;
  line-height: 1.25;
}

.adminStorageReadinessRow small, .adminStorageExcludedRows + .adminSettingsIntro {
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.35;
}

.adminStorageRestoreValidationChips {
  flex-wrap: wrap;
  gap: 5px;
  min-width: 0;
  margin-top: 5px;
  display: flex;
}

.adminStorageRestoreValidationChips .adminBackupOpsStatusPill {
  white-space: normal;
  max-width: 100%;
  padding: 3px 7px;
  font-size: 11px;
  line-height: 1.2;
}

.adminStorageReadinessValue {
  text-align: right;
  justify-items: end;
}

.adminStorageReadinessValue strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 150px;
  overflow: hidden;
}

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

.adminStorageRestoreIncludedRow > span {
  background: color-mix(in srgb, var(--ok), white 90%);
  color: color-mix(in srgb, var(--ok), black 8%);
}

.adminStorageExcludedRows article {
  grid-template-columns: auto minmax(0, 1fr);
  padding: 11px 0;
}

.adminStorageExcludedRows article > span {
  background: color-mix(in srgb, var(--muted), white 92%);
  width: 26px;
  height: 26px;
  color: var(--muted);
}

.adminStorageRestoreStepper {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  padding: 22px 16px 10px;
  display: grid;
}

.adminStorageRestoreStepper article {
  text-align: center;
  justify-items: center;
  gap: 10px;
  min-width: 0;
  display: grid;
  position: relative;
}

.adminStorageRestoreStepper article:before {
  content: "";
  background: color-mix(in srgb, var(--stroke), transparent 18%);
  height: 2px;
  position: absolute;
  top: 15px;
  left: -50%;
  right: 50%;
}

.adminStorageRestoreStepper article:first-child:before {
  display: none;
}

.adminStorageRestoreStepper article.isDone:before, .adminStorageRestoreStepper article.isCurrent:before {
  background: color-mix(in srgb, var(--focus), transparent 8%);
}

.adminStorageRestoreStepper article > span {
  z-index: 1;
  border: 2px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: var(--bg);
  width: 32px;
  height: 32px;
  color: var(--muted);
  border-radius: 999px;
  place-items: center;
  font-size: 13px;
  font-weight: 900;
  display: inline-grid;
  position: relative;
}

.adminStorageRestoreStepper article.isDone > span {
  border-color: var(--focus);
  background: var(--focus);
  color: #fff;
}

.adminStorageRestoreStepper article.isCurrent > span {
  border-color: var(--focus);
  background: color-mix(in srgb, var(--focus), white 90%);
  color: var(--focus);
}

.adminStorageRestoreStepper div {
  gap: 5px;
  max-width: 190px;
  display: grid;
}

.adminStorageRestoreStepper strong {
  color: var(--fg);
  font-size: 13px;
  line-height: 1.25;
}

.adminStorageRestoreStepper small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.adminStorageRestoreStack .adminStorageInfoNote {
  grid-template-columns: auto auto minmax(0, 1fr);
  margin-top: 14px;
  padding: 12px 14px;
}

.adminStorageRestoreStack .adminStorageInfoNote svg {
  color: var(--focus);
}

.adminStorageRestoreStack .adminBackupOpsStatusPill {
  text-transform: none;
  white-space: nowrap;
  border-radius: 999px;
  gap: 5px;
  min-height: 22px;
  padding: 3px 6px;
  font-size: 10.5px;
  font-weight: 850;
  line-height: 1.1;
}

.adminStorageRestoreStack .adminBackupOpsStatusPill:before {
  width: 5px;
  height: 5px;
}

.adminStorageRestorePointTable tr.isSelected td {
  background: color-mix(in srgb, var(--focus), white 97%);
}

.adminStorageRestorePointDate {
  align-items: center;
  gap: 6px;
  min-width: 0;
  display: inline-flex;
}

.adminStorageRestorePointDate > span {
  border: 2px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: var(--bg);
  border-radius: 999px;
  flex: none;
  width: 13px;
  height: 13px;
}

.adminStorageRestorePointDate > span.isSelected {
  border-color: var(--focus);
  background: radial-gradient(circle, var(--focus) 0 42%, transparent 45%);
}

.adminStorageRestorePointDate strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11.5px;
  overflow: hidden;
}

.adminStorageRestoreRowAction {
  white-space: nowrap;
  justify-content: center;
  width: 100%;
  min-width: 0;
  min-height: 34px;
  padding: 8px;
  font-size: 12px;
}

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

.adminStorageGuardrailIcon.isSuccess {
  background: color-mix(in srgb, var(--ok), white 90%);
  color: color-mix(in srgb, var(--ok), black 8%);
}

.adminStorageGuardrailIcon.isWarning {
  background: color-mix(in srgb, var(--warning), white 88%);
  color: color-mix(in srgb, var(--warning), black 30%);
}

.adminStorageGuardrailIcon.isDanger {
  background: color-mix(in srgb, var(--danger), white 88%);
  color: var(--danger);
}

.adminStorageGuardrailIcon.isNeutral {
  background: color-mix(in srgb, var(--muted), white 92%);
  color: var(--muted);
}

.adminStorageRestoreWarning {
  border: 1px solid color-mix(in srgb, var(--warning), transparent 50%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--warning), white 92%);
  color: color-mix(in srgb, var(--warning), black 36%);
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  margin-top: 12px;
  padding: 12px;
  display: grid;
}

.adminStorageRestoreWarning strong {
  color: inherit;
  font-size: 13px;
  line-height: 1.35;
}

.adminStorageOperationCard, .adminStorageRestorePoint {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  border-radius: var(--radius);
  background: color-mix(in srgb, white, var(--bg-2) 12%);
  gap: 10px;
  min-width: 0;
  padding: 14px;
  display: grid;
}

.adminStorageOperationCard span, .adminStorageRestorePoint span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.adminStorageOperationSummary {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 72%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, var(--focus), white 97%);
  gap: 16px;
  padding: 14px;
  display: grid;
}

.adminStorageOperationPrimary, .adminStorageOperationFooter {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-width: 0;
  display: flex;
}

.adminStorageOperationPrimary > div {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.adminStorageOperationPrimary strong {
  font-size: 16px;
  line-height: 1.2;
}

.adminStorageOperationPrimary span, .adminStorageOperationFooter span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.35;
}

.adminStorageStageTracker {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  min-width: 0;
  display: grid;
}

.adminStorageStageStep {
  min-width: 0;
  color: var(--muted);
  text-align: center;
  justify-items: center;
  gap: 8px;
  display: grid;
  position: relative;
}

.adminStorageStageStep:before {
  content: "";
  background: color-mix(in srgb, var(--stroke), transparent 15%);
  height: 2px;
  position: absolute;
  top: 8px;
  left: -50%;
  right: 50%;
}

.adminStorageStageStep:first-child:before {
  display: none;
}

.adminStorageStageStep i {
  z-index: 1;
  border: 2px solid color-mix(in srgb, var(--stroke), transparent 10%);
  background: var(--bg);
  border-radius: 999px;
  width: 18px;
  height: 18px;
  position: relative;
}

.adminStorageStageStep small {
  color: inherit;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.2;
}

.adminStorageStageStep.isDone, .adminStorageStageStep.isCurrent {
  color: var(--focus);
}

.adminStorageStageStep.isDone:before, .adminStorageStageStep.isCurrent:before {
  background: var(--focus);
}

.adminStorageStageStep.isDone i {
  border-color: var(--focus);
  background: var(--focus);
  box-shadow: inset 0 0 0 4px var(--focus);
}

.adminStorageStageStep.isCurrent i {
  border-color: var(--focus);
  background: var(--bg);
  box-shadow: inset 0 0 0 4px color-mix(in srgb, var(--focus), white 88%);
}

.adminStorageStageStep.isFailed {
  color: var(--danger);
}

.adminStorageStageStep.isFailed:before, .adminStorageStageStep.isFailed i {
  border-color: var(--danger);
  background: color-mix(in srgb, var(--danger), white 88%);
}

.adminStorageOperationFooter {
  padding-top: 2px;
}

.adminStorageCompactEmpty {
  text-align: center;
  align-content: center;
  justify-items: center;
  min-height: 112px;
}

.adminStorageCompactEmpty svg {
  color: var(--focus);
}

.adminStorageCompactAction {
  inline-size: auto;
  white-space: nowrap;
  justify-content: space-between;
  justify-self: start;
  min-width: 176px;
}

.adminStorageRestorePointBanner {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 68%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--focus), white 96%);
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  min-width: 0;
  padding: 13px;
  display: grid;
}

.adminStorageRestorePointBanner.isEmpty {
  border-color: color-mix(in srgb, var(--warning), transparent 65%);
  background: color-mix(in srgb, var(--warning), white 94%);
}

.adminStorageRestorePointBanner svg {
  color: var(--focus);
}

.adminStorageRestorePointBanner.isEmpty svg {
  color: var(--warning);
}

.adminStorageRestorePointBanner div {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.adminStorageRestorePointBanner strong {
  color: var(--fg);
  font-size: 14px;
  line-height: 1.25;
}

.adminStorageRestorePointBanner span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.adminStorageRestorePointCells {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 22%);
  border-radius: var(--radius);
  grid-template-columns: repeat(5, minmax(0, 1fr));
  display: grid;
  overflow: hidden;
}

.adminStorageRestorePointCells > div {
  border-right: 1px solid color-mix(in srgb, var(--stroke), transparent 24%);
  gap: 5px;
  min-width: 0;
  padding: 12px;
  display: grid;
}

.adminStorageRestorePointCells > div:last-child {
  border-right: 0;
}

.adminStorageRestorePointCells svg {
  color: var(--muted);
}

.adminStorageRestorePointCells > div > span:not(.adminBackupOpsStatusPill) {
  color: var(--muted);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 850;
}

.adminStorageRestorePointCells strong {
  color: var(--fg);
  font-size: 13px;
  font-weight: 850;
}

.adminStorageBackupActionGroup {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  display: flex;
}

.adminStorageMiniButton {
  appearance: none;
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: var(--bg);
  min-height: 30px;
  color: var(--fg);
  cursor: pointer;
  font: inherit;
  white-space: nowrap;
  border-radius: 8px;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 850;
  line-height: 1;
}

.adminStorageMiniButton:hover {
  border-color: color-mix(in srgb, var(--focus), transparent 42%);
  color: var(--focus);
}

.adminStorageMiniButton:disabled {
  color: color-mix(in srgb, var(--muted), transparent 35%);
  cursor: not-allowed;
}

.adminStorageMiniButton.isMuted {
  color: var(--muted);
}

.adminStorageRowMenu {
  display: inline-flex;
  position: relative;
}

.adminStorageRowMenu summary {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: var(--bg);
  width: 34px;
  min-height: 30px;
  color: var(--fg);
  cursor: pointer;
  border-radius: 8px;
  place-items: center;
  font-size: 17px;
  font-weight: 900;
  line-height: 1;
  list-style: none;
  display: inline-grid;
}

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

.adminStorageRowMenu summary:hover {
  border-color: color-mix(in srgb, var(--focus), transparent 42%);
  color: var(--focus);
}

.adminStorageRowMenu > div {
  z-index: 25;
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: var(--bg);
  border-radius: 10px;
  gap: 2px;
  min-width: 210px;
  padding: 6px;
  display: grid;
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  box-shadow: 0 16px 36px #0f172a24;
}

.adminStorageRowMenu button {
  appearance: none;
  width: 100%;
  min-height: 34px;
  color: var(--fg);
  cursor: pointer;
  font: inherit;
  text-align: left;
  background: none;
  border: 0;
  border-radius: 7px;
  justify-content: flex-start;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 800;
  display: flex;
}

.adminStorageRowMenu button:hover:not(:disabled) {
  background: color-mix(in srgb, var(--focus), white 94%);
  color: var(--focus);
}

.adminStorageRowMenu button:disabled {
  color: color-mix(in srgb, var(--muted), transparent 35%);
  cursor: not-allowed;
}

.adminStorageRowMenu button.isDanger {
  color: var(--muted);
}

.adminStorageRowMenu button.isDanger:hover:not(:disabled) {
  background: color-mix(in srgb, var(--danger), white 94%);
  color: var(--danger);
}

.adminStorageStageRail {
  gap: 8px;
  padding-bottom: 3px;
  display: flex;
  overflow-x: auto;
}

.adminStorageStageRail span {
  border-top: 3px solid color-mix(in srgb, var(--stroke), transparent 14%);
  color: var(--muted);
  flex: 0 0 112px;
  padding-top: 10px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.25;
}

.adminStorageStageRail span.isDone {
  border-top-color: var(--focus);
  color: var(--fg);
}

.adminStorageStageRail span.isCurrent {
  border-top-color: var(--focus);
  color: var(--focus);
}

.adminStorageRestoreSteps, .adminStorageSetupStepper {
  gap: 10px;
  display: grid;
}

.adminStorageRestoreSteps {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.adminStorageSetupStepper {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.adminStorageRestoreSteps article, .adminStorageSetupStepper article {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  border-radius: var(--radius);
  background: color-mix(in srgb, white, var(--bg-2) 12%);
  gap: 6px;
  min-width: 0;
  padding: 13px;
  display: grid;
}

.adminStorageRestoreSteps article > span:first-child, .adminStorageSetupStepper article > span:first-child {
  background: color-mix(in srgb, var(--focus), white 88%);
  width: 24px;
  height: 24px;
  color: var(--focus);
  border-radius: 999px;
  place-items: center;
  font-size: 12px;
  font-weight: 900;
  display: inline-grid;
}

.adminStorageSetupStepper small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.adminStorageHealthStack {
  gap: 14px;
  display: grid;
}

.adminStorageDailyHealthCard .adminBackupOpsSurfaceBody, .adminStorageHealthPanel .adminBackupOpsSurfaceBody {
  gap: 10px;
  padding: 18px;
}

.adminStorageDailyHealthHeader {
  grid-template-columns: minmax(0, 1fr) minmax(170px, auto);
  align-items: start;
  gap: 16px;
  padding-bottom: 10px;
  display: grid;
}

.adminStorageDailyHealthTitleBlock {
  gap: 5px;
  min-width: 0;
  display: grid;
}

.adminStorageHealthLastCheck {
  color: var(--muted);
  text-align: right;
  justify-items: end;
  gap: 3px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
  display: grid;
}

.adminStorageHealthLastCheck strong {
  color: color-mix(in srgb, var(--fg), var(--muted) 16%);
  font-size: 13px;
  font-weight: 850;
}

.adminStorageHealthTable {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 24%);
  border-radius: calc(var(--radius) + 2px);
  background: #fff;
  display: grid;
  overflow: hidden;
}

.adminStorageHealthTableHead, .adminStorageHealthRow {
  grid-template-columns: minmax(230px, .9fr) minmax(130px, .42fr) minmax(0, 1.28fr) minmax(146px, .44fr);
  align-items: center;
  gap: 10px;
  padding: 7px 14px;
  display: grid;
}

.adminStorageHealthTableHead {
  background: color-mix(in srgb, var(--bg-2), white 28%);
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 850;
}

.adminStorageHealthRow {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 26%);
  min-height: 44px;
  font-size: 13px;
}

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

.adminStorageHealthCheckIcon {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 78%);
  background: color-mix(in srgb, var(--focus), white 94%);
  width: 28px;
  height: 28px;
  color: var(--focus);
  border-radius: 999px;
  flex: none;
  place-items: center;
  display: inline-grid;
}

.adminStorageHealthRow > span:nth-child(3) {
  color: var(--muted);
  line-height: 1.35;
}

.adminStorageHealthAction {
  min-width: 124px;
  min-height: 30px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.1;
}

.adminStorageTableFoot {
  color: var(--muted);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 14px;
  padding-top: 8px;
  font-size: 12px;
  font-weight: 700;
  display: grid;
}

.adminStorageTableFoot span {
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
  display: inline-flex;
}

.adminStorageTableFoot span:before {
  content: "i";
  border: 1px solid color-mix(in srgb, var(--muted), transparent 34%);
  width: 15px;
  height: 15px;
  color: var(--muted);
  border-radius: 999px;
  flex: none;
  place-items: center;
  margin-top: 1px;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  display: inline-grid;
}

.adminStorageHealthLowerGrid {
  grid-template-columns: minmax(230px, .9fr) minmax(230px, .9fr) minmax(330px, 1.18fr) minmax(260px, .88fr);
  align-items: stretch;
  gap: 12px;
  display: grid;
}

.adminStorageHealthPanel {
  height: 100%;
}

.adminStorageHealthPanel .adminBackupOpsSurfaceBody {
  align-content: start;
  height: 100%;
}

.adminStorageCompactRows, .adminStorageLegendRows, .adminStorageActionQueue {
  gap: 0;
  display: grid;
}

.adminStorageCompactRow, .adminStorageLegendRows article, .adminStorageActionQueueItem {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 24%);
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 8px 0;
  display: grid;
}

.adminStoragePanelPreview .adminStorageCompactRow:first-child, .adminStoragePanelPreview .adminStorageActionQueueItem:first-child, .adminStorageLegendRows article:first-child {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 24%);
}

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

.adminStorageCompactRow div, .adminStorageActionQueueItem div {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.adminStorageCompactRow strong, .adminStorageActionQueueCopy strong {
  overflow-wrap: anywhere;
  white-space: normal;
  font-size: 12.5px;
  line-height: 1.22;
}

.adminStorageCompactRow span, .adminStorageActionQueueItem small, .adminStorageLegendRows span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.adminStorageActionQueueItem small {
  font-size: 10.5px;
}

.adminStoragePanelDisclosure, .adminStoragePanelLink {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 24%);
  margin-top: auto;
  padding-top: 7px;
}

.adminStoragePanelDisclosure summary, .adminStoragePanelLink {
  min-height: 34px;
  color: var(--focus);
  cursor: pointer;
  justify-content: flex-start;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.2;
  list-style: none;
  display: flex;
}

.adminStoragePanelLink {
  cursor: default;
}

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

.adminStoragePanelDisclosure summary svg, .adminStoragePanelLink svg {
  transition: transform .16s;
}

.adminStoragePanelDisclosure[open] summary svg {
  transform: rotate(90deg);
}

.adminStoragePanelDisclosureRows {
  display: grid;
}

.adminStoragePanelDisclosureRows .adminStorageCompactRow:nth-child(-n+3), .adminStoragePanelDisclosureRows.adminStorageActionQueue .adminStorageActionQueueItem:nth-child(-n+3) {
  display: none;
}

.adminStorageQueueHead {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.adminStorageActionQueueItem {
  grid-template-columns: minmax(0, 1fr) 88px;
  gap: 9px;
}

.adminStorageActionQueueCopy {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  display: grid;
}

.adminStorageActionQueueCopy strong {
  white-space: normal;
}

.adminStoragePriorityChip {
  color: #475467;
  text-transform: none;
  background: #f9fafb;
  border: 1px solid #d0d5dd;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-width: 50px;
  min-height: 22px;
  padding: 3px 7px;
  font-size: 9.5px;
  font-weight: 900;
  line-height: 1;
  display: inline-flex;
}

.adminStoragePriorityChip.isHigh {
  color: #b42318;
  background: #fef3f2;
  border-color: #fecdca;
}

.adminStoragePriorityChip.isMedium {
  color: #b54708;
  background: #fffaeb;
  border-color: #fedf89;
}

.adminStoragePriorityChip.isLow {
  color: #175cd3;
  background: #eff8ff;
  border-color: #b2ddff;
}

.adminStorageQueueAction {
  width: 88px;
  min-height: 34px;
  padding: 6px 10px;
  font-size: 11px;
  line-height: 1.1;
}

.adminStorageActionQueueItem.isHigh, .adminStorageActionQueueItem.isMedium, .adminStorageActionQueueItem.isLow {
  border-left-color: #0000;
}

.adminStorageLegendRows article {
  grid-template-columns: minmax(124px, auto) minmax(0, 1fr);
}

.adminStorageRowChevron {
  min-height: 30px;
  color: var(--focus);
  cursor: pointer;
  font: inherit;
  background: none;
  border: 0;
  justify-content: flex-end;
  align-items: center;
  gap: 5px;
  padding: 0;
  font-size: 12px;
  font-weight: 850;
  display: inline-flex;
}

.adminStorageRowChevron:disabled {
  color: var(--muted);
  cursor: default;
  opacity: .68;
}

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

.adminStorageSetupStack, .adminStorageSetupDesktop {
  gap: 10px;
  display: grid;
}

.adminStorageSetupMobile {
  display: none;
}

.adminStorageSetupProgressCard .adminBackupOpsSurfaceBody, .adminStorageSetupCard .adminBackupOpsSurfaceBody {
  gap: 8px;
  padding: 12px 16px;
}

.adminStorageSetupProgressCard .adminBackupOpsSurfaceBody {
  padding: 14px 18px;
}

.adminStorageSetupProgressLayout {
  grid-template-columns: minmax(260px, .62fr) minmax(0, 2.5fr);
  align-items: center;
  gap: 18px;
  display: grid;
}

.adminStorageSetupProgressIntro {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.adminStorageSetupProgressIntro .adminSettingsIntro {
  max-width: 34ch;
  margin: 0;
  font-size: 13px;
  line-height: 1.42;
}

.adminStorageSetupJourney {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  align-items: start;
  gap: 0;
  min-width: 0;
  display: grid;
}

.adminStorageSetupJourneyStep {
  min-width: 0;
  color: var(--muted);
  gap: 4px;
  padding-top: 24px;
  display: grid;
  position: relative;
}

.adminStorageSetupJourneyStep:before {
  content: "";
  background: color-mix(in srgb, var(--stroke), transparent 14%);
  height: 2px;
  position: absolute;
  top: 10px;
  left: -50%;
  right: 50%;
}

.adminStorageSetupJourneyStep:first-child:before {
  display: none;
}

.adminStorageSetupJourneyStep.isdone:before, .adminStorageSetupJourneyStep.iscurrent:before {
  background: color-mix(in srgb, var(--focus), transparent 18%);
}

.adminStorageSetupJourneyStep .adminStorageSetupStepNumber {
  z-index: 1;
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 6%);
  background: var(--bg);
  width: 22px;
  height: 22px;
  color: var(--muted);
  border-radius: 999px;
  place-items: center;
  font-size: 11px;
  font-weight: 900;
  display: inline-grid;
  position: absolute;
  top: 0;
  left: 0;
}

.adminStorageSetupJourneyStep.isdone .adminStorageSetupStepNumber {
  border-color: var(--focus);
  background: var(--focus);
  color: #fff;
}

.adminStorageSetupJourneyStep.iscurrent .adminStorageSetupStepNumber {
  border-color: color-mix(in srgb, var(--focus), transparent 12%);
  background: color-mix(in srgb, var(--focus), white 91%);
  color: var(--focus);
}

.adminStorageSetupJourneyStep strong {
  min-width: 0;
  max-width: 132px;
  color: var(--fg);
  font-size: 11px;
  font-weight: 860;
  line-height: 1.22;
}

.adminStorageSetupJourneyStep .adminBackupOpsStatusPill {
  justify-self: start;
}

.adminStorageSetupStepper {
  align-items: stretch;
  gap: 12px;
}

.adminStorageSetupStepper article {
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-height: 66px;
  padding: 10px;
  position: relative;
}

.adminStorageSetupStepper article > .adminStorageSetupStepNumber {
  background: color-mix(in srgb, var(--focus), white 82%);
  width: 22px;
  height: 22px;
  color: var(--focus);
  position: absolute;
  top: 8px;
  left: 8px;
}

.adminStorageSetupStepper article > .adminStorageIconBadge {
  margin-left: 22px;
}

.adminStorageSetupStepper article > div {
  gap: 5px;
  min-width: 0;
  display: grid;
}

.adminStorageSetupStepper article strong {
  text-overflow: ellipsis;
  font-size: 13px;
  line-height: 1.2;
  overflow: hidden;
}

.adminStorageSetupGuideGrid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 10px 12px;
  display: grid;
}

.adminStorageSetupCard {
  min-width: 0;
}

.adminStorageSetupCard .adminBackupOpsSurfaceBody {
  min-height: 100%;
}

.adminStorageSetupProgressCard .adminStorageIconBadge, .adminStorageSetupCard .adminStorageIconBadge, .adminStorageReviewSurface .adminStorageIconBadge {
  border-radius: 10px;
  width: 34px;
  height: 34px;
  min-height: 34px;
}

.adminStorageSetupProgressCard .adminSettingsChecklistTitle, .adminStorageSetupCard .adminSettingsChecklistTitle, .adminStorageReviewSurface .adminSettingsChecklistTitle {
  font-size: 17px;
  line-height: 1.18;
}

.adminStorageSetupCard .adminStorageTitleWithIcon, .adminStorageReviewSurface .adminStorageTitleWithIcon {
  gap: 9px;
}

.adminStorageSetupScopeRows {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 22%);
  display: grid;
}

.adminStorageSetupScopeRows article {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 24%);
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 8px 0;
  display: grid;
}

.adminStorageSetupScopeRows .adminStorageIconBadge {
  width: 32px;
  height: 32px;
  min-height: 32px;
}

.adminStorageSetupScopeRows .adminBackupOpsGroupTitle {
  font-size: 13px;
}

.adminStorageSetupScopeRows .adminSettingsIntro {
  margin: 0;
  font-size: 12px;
  line-height: 1.26;
}

.adminStorageSetupNote {
  margin-top: 0;
  padding: 8px 10px;
}

.adminStorageSetupNote strong {
  color: color-mix(in srgb, var(--fg), black 4%);
  font-size: 12px;
  line-height: 1.3;
}

.adminStoragePrereqTableWrap {
  overflow-x: hidden;
}

.adminStoragePrereqTable {
  table-layout: fixed;
}

.adminStoragePrereqTable th:first-child, .adminStoragePrereqTable td:first-child {
  width: 28%;
}

.adminStoragePrereqTable th:nth-child(2), .adminStoragePrereqTable td:nth-child(2) {
  width: 24%;
}

.adminStoragePrereqTable th:nth-child(3), .adminStoragePrereqTable td:nth-child(3) {
  width: 48%;
}

.adminBackupOpsBackupTable.adminStoragePrereqTable thead th, .adminBackupOpsBackupTable.adminStoragePrereqTable tbody td {
  padding: 4px 8px;
  font-size: 11px;
  line-height: 1.16;
}

.adminBackupOpsBackupTable.adminStoragePrereqTable thead th {
  padding-top: 7px;
  padding-bottom: 7px;
}

.adminBackupOpsBackupTable.adminStoragePrereqTable tbody td {
  font-weight: 780;
}

.adminBackupOpsBackupTable.adminStoragePrereqTable .adminBackupOpsStatusPill {
  min-height: 20px;
  padding: 2px 7px;
  font-size: 11px;
}

.adminBackupOpsBackupTable.adminStoragePrereqTable td:nth-child(3) {
  white-space: nowrap;
}

.adminStorageSetupCard > .adminBackupOpsSurfaceBody > .adminSettingsIntro {
  font-size: 12px;
  line-height: 1.32;
}

.adminStorageSetupPathField .input {
  min-height: 36px;
}

.adminStorageSetupCard .input {
  min-height: 34px;
  font-size: 13px;
}

.adminStorageSetupCard .label {
  font-size: 10px;
}

.adminStorageSetupMetricPills {
  color: var(--muted);
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  font-size: 12px;
  font-weight: 760;
  display: flex;
}

.adminStorageSetupMetricPills span {
  align-items: center;
  gap: 6px;
  min-width: 0;
  display: inline-flex;
}

.adminStorageSetupMetricPills small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 760;
}

.adminStorageSetupMetricPills strong {
  color: color-mix(in srgb, var(--fg), var(--muted) 18%);
  font-size: 12px;
}

.adminStorageSetupActions {
  gap: 8px;
  margin-top: auto;
}

.adminStorageSetupActions .btn {
  min-height: 32px;
}

.adminStorageSetupRetentionLayout {
  grid-template-columns: minmax(120px, .62fr) minmax(0, 1.38fr);
  align-items: start;
  gap: 12px;
  display: grid;
}

.adminStorageSetupNextRun {
  min-width: 0;
  color: var(--muted);
  gap: 5px;
  font-size: 12px;
  font-weight: 760;
  display: grid;
}

.adminStorageSetupNextRun > span {
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 850;
}

.adminStorageSetupNextRun > strong {
  color: var(--fg);
  font-size: 14px;
}

.adminStorageSetupEmailPair .input {
  min-height: 38px;
}

.adminStorageSetupCard.adminStorageHealthTargetsCard .adminBackupOpsSurfaceBody {
  gap: 12px;
}

.adminStorageSetupCard.adminStorageHealthTargetsCard .adminStorageHealthTargetRows {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 24px;
}

.adminStorageSetupCard.adminStorageHealthTargetsCard .adminStorageHealthTargetRows label {
  grid-template-columns: minmax(124px, 1fr) 58px minmax(34px, auto);
  align-items: center;
  gap: 8px;
}

.adminStorageSetupCard.adminStorageHealthTargetsCard .adminStorageHealthTargetRows label > span {
  line-height: 1.22;
}

.adminStorageSetupCard.adminStorageHealthTargetsCard .adminStorageHealthTargetRows .input {
  justify-self: end;
  width: 58px;
  min-height: 32px;
  padding-left: 8px;
  padding-right: 8px;
}

.adminStorageSetupCard.adminStorageHealthTargetsCard .adminStorageHealthTargetRows small {
  min-width: 34px;
}

.adminStorageSetupCard.adminStorageHealthTargetsCard .adminStorageSetupEmailPair {
  align-items: start;
  gap: 10px;
  padding-top: 1px;
}

.adminStorageSetupCard .adminStorageTargetRows {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 10px;
}

.adminStorageSetupCard .adminStorageTargetRows label {
  grid-template-columns: minmax(0, 1fr) 64px 38px;
  gap: 6px;
}

.adminStorageSetupCard .adminBackupOpsFieldPair {
  gap: 10px;
}

.adminStorageSetupCard .adminStorageSegmentedControl button, .adminStorageSetupCard .adminStorageScheduleOptions button {
  min-height: 32px;
}

.adminStorageSetupCard .adminStorageRetentionRows, .adminStorageSetupCard .adminStorageTargetRows {
  gap: 6px;
}

.adminStorageSetupCard .adminStorageRetentionRows label, .adminStorageSetupCard .adminStorageTargetRows label {
  font-size: 12px;
}

.adminStorageSetupCard .adminStorageRetentionRows .input, .adminStorageSetupCard .adminStorageTargetRows .input {
  min-height: 29px;
}

.adminStorageReviewSurface .adminBackupOpsSurfaceBody {
  padding: 0;
}

.adminStorageReviewSurface .adminStorageReviewCard {
  border-radius: inherit;
  background: color-mix(in srgb, var(--focus), white 98%);
  border: 0;
  gap: 10px;
  margin: 0;
  padding: 12px;
}

.adminStorageReviewIntro {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.adminStorageReviewActions {
  justify-content: flex-end;
}

.adminStorageSetupMobileSection {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-radius: calc(var(--radius) + 4px);
  min-width: 0;
  box-shadow: none;
  background: #fff;
}

.adminStorageSetupMobileSection summary {
  cursor: pointer;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  min-height: 76px;
  padding: 11px 14px;
  list-style: none;
  display: grid;
}

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

.adminStorageSetupMobileCopy {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.adminStorageSetupMobileCopy strong {
  color: var(--fg);
  font-size: 16px;
  font-weight: 900;
  line-height: 1.18;
}

.adminStorageSetupMobileCopy > span {
  color: var(--muted);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: 13px;
  font-weight: 680;
  line-height: 1.32;
  display: -webkit-box;
  overflow: hidden;
}

.adminStorageSetupMobileChip {
  min-width: max-content;
}

.adminStorageSetupMobileChevron {
  color: color-mix(in srgb, var(--muted), var(--fg) 18%);
  transition: transform .14s;
}

.adminStorageSetupMobileSection[open] .adminStorageSetupMobileChevron {
  transform: rotate(90deg);
}

.adminStorageSetupMobileDetail {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 24%);
  gap: 10px;
  padding: 0 14px 12px;
  display: grid;
}

.adminStorageSetupMobileDetail > :first-child {
  margin-top: 12px;
}

.adminStorageSetupMobileNote {
  border-color: color-mix(in srgb, var(--focus), transparent 50%);
  background: color-mix(in srgb, var(--focus), white 97%);
  margin-top: 2px;
}

.adminStorageSetupMobileNote svg {
  color: var(--focus);
}

.adminStorageSetupMobileActions {
  gap: 9px;
  display: grid;
}

.adminStorageSegmentedControl, .adminStorageScheduleOptions {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg-2), white 42%);
  display: grid;
  overflow: hidden;
}

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

.adminStorageScheduleOptions {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.adminStorageSegmentedControl button, .adminStorageScheduleOptions button, .adminStorageTimelineFilters button {
  appearance: none;
  border: 0;
  border-right: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  min-height: 38px;
  color: color-mix(in srgb, var(--fg), var(--muted) 18%);
  cursor: pointer;
  font: inherit;
  background: none;
  font-size: 12px;
  font-weight: 800;
}

.adminStorageSegmentedControl button:last-child, .adminStorageScheduleOptions button:last-child {
  border-right: 0;
}

.adminStorageSegmentedControl button.isSelected, .adminStorageScheduleOptions button.isSelected, .adminStorageTimelineFilters button.isSelected {
  background: color-mix(in srgb, var(--focus), white 94%);
  color: var(--focus);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--focus), transparent 42%);
}

.adminStorageSegmentedControl button:disabled, .adminStorageScheduleOptions button:disabled {
  cursor: not-allowed;
  opacity: .58;
}

.adminStorageInlineStats {
  color: var(--muted);
  flex-wrap: wrap;
  gap: 10px 16px;
  font-size: 12px;
  font-weight: 740;
  display: flex;
}

.adminStorageInlineStats span {
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.adminStorageRetentionRows, .adminStorageTargetRows {
  gap: 8px;
  display: grid;
}

.adminStorageRetentionRows label, .adminStorageTargetRows label {
  color: var(--muted);
  grid-template-columns: minmax(0, 1fr) 72px 54px;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 740;
  display: grid;
}

.adminStorageRetentionRows .input, .adminStorageTargetRows .input {
  text-align: center;
  min-height: 34px;
}

.adminStorageRetentionRows small, .adminStorageTargetRows small {
  color: var(--muted);
  font-size: 12px;
}

.adminStorageReviewCard, .adminStorageInfoNote {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 70%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, var(--focus), white 97%);
  gap: 12px;
  min-width: 0;
  margin-top: 14px;
  padding: 14px;
  display: grid;
}

.adminStorageInfoNote {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  margin-top: 12px;
}

.adminStorageInfoNote span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.adminStorageReviewCard {
  grid-column: 1 / -1;
}

.adminStorageReviewSummary {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 20%);
  border-radius: var(--radius);
  background: var(--bg);
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  display: grid;
  overflow: hidden;
}

.adminStorageReviewSummary div {
  border-right: 1px solid color-mix(in srgb, var(--stroke), transparent 25%);
  gap: 4px;
  min-width: 0;
  padding: 8px 10px;
  display: grid;
}

.adminStorageReviewSummary div:last-child {
  border-right: 0;
}

.adminStorageReviewSummary span:first-child {
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 850;
}

.adminStorageTableShell {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  border-radius: var(--radius);
}

.adminStorageCleanupStack {
  gap: 16px;
  display: grid;
}

.adminStorageCleanupGrid {
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
  align-items: start;
  gap: 16px;
  display: grid;
}

.adminStorageCleanupMetricGrid, .adminStorageCleanupSelected {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 20%);
  border-radius: var(--radius);
  background: var(--bg);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  display: grid;
  overflow: hidden;
}

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

.adminStorageCleanupMetricGrid > div, .adminStorageCleanupSelected > div {
  border-right: 1px solid color-mix(in srgb, var(--stroke), transparent 26%);
  gap: 4px;
  min-width: 0;
  padding: 10px 12px;
  display: grid;
}

.adminStorageCleanupMetricGrid > div:last-child, .adminStorageCleanupSelected > div:last-child {
  border-right: 0;
}

.adminStorageCleanupMetricGrid span, .adminStorageCleanupSelected span {
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 850;
}

.adminStorageCleanupMetricGrid strong, .adminStorageCleanupSelected strong {
  min-width: 0;
  color: var(--fg);
  overflow-wrap: anywhere;
  font-size: 15px;
}

.adminStorageCleanupMetricGrid small, .adminStorageCleanupSelected small {
  color: var(--muted);
  font-size: 12px;
}

.adminStorageCleanupTableWrap {
  margin-top: 14px;
  overflow-x: auto;
}

.adminStorageCleanupTable {
  min-width: 760px;
}

.adminStorageCleanupTable tr.isSelected td, .adminStorageCleanupTable tr.isSelected th {
  background: color-mix(in srgb, var(--focus), white 94%);
}

.adminStorageCleanupFamilyButton {
  width: 100%;
  min-height: 34px;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  font-weight: 850;
  display: inline-grid;
}

.adminStorageCleanupFamilyButton:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
  border-radius: 6px;
}

.adminStorageCleanupActionCard .adminBackupOpsSurfaceBody {
  gap: 14px;
}

.adminStorageCleanupActions {
  justify-content: flex-start;
}

.adminStorageCleanupResult {
  border: 1px solid color-mix(in srgb, var(--ok), transparent 60%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--ok), white 94%);
  gap: 4px;
  padding: 12px;
  display: grid;
}

.adminStorageCleanupResult.isDanger {
  border-color: color-mix(in srgb, var(--danger), transparent 60%);
  background: color-mix(in srgb, var(--danger), white 94%);
}

.adminStorageCleanupResult span, .adminStorageCleanupResult small {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.adminStorageCleanupSampleList, .adminStorageCleanupReviewOnly {
  gap: 8px;
  margin-top: 12px;
  display: grid;
}

.adminStorageCleanupSampleList article, .adminStorageCleanupReviewOnly article {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 22%);
  background: color-mix(in srgb, var(--bg), white 50%);
  border-radius: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 9px 10px;
  display: grid;
}

.adminStorageCleanupReviewOnly article {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}

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

.adminStorageCleanupSampleList strong, .adminStorageCleanupReviewOnly span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.adminStorageCleanupDetails {
  margin-top: 12px;
}

@media (max-width: 900px) {
  .adminStorageCleanupGrid, .adminStorageCleanupMetricGrid, .adminStorageCleanupSelected {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminStorageCleanupMetricGrid > div, .adminStorageCleanupSelected > div {
    border-right: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 26%);
  }

  .adminStorageCleanupMetricGrid > div:last-child, .adminStorageCleanupSelected > div:last-child {
    border-bottom: 0;
  }

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

.adminStorageRestorePointTable {
  table-layout: fixed;
  width: 100%;
  min-width: 0;
}

.adminStorageRestoreLowerGrid .adminBackupOpsBackupTableWrap {
  max-height: none;
  overflow: auto hidden;
}

.adminStorageRestorePointTable th, .adminStorageRestorePointTable td {
  vertical-align: middle;
  padding-left: 7px;
  padding-right: 7px;
}

.adminStorageRestorePointTable th:first-child, .adminStorageRestorePointTable td:first-child {
  width: 18%;
}

.adminStorageRestorePointTable th:nth-child(2), .adminStorageRestorePointTable td:nth-child(2) {
  width: 11%;
}

.adminStorageRestorePointTable th:nth-child(5), .adminStorageRestorePointTable td:nth-child(5) {
  width: 13%;
}

.adminStorageRestorePointTable th:nth-child(6), .adminStorageRestorePointTable td:nth-child(6) {
  width: 15%;
}

.adminStorageRestorePointTable th:nth-child(3), .adminStorageRestorePointTable td:nth-child(3) {
  width: 17%;
}

.adminStorageRestorePointTable th:nth-child(4), .adminStorageRestorePointTable td:nth-child(4) {
  width: 8%;
}

.adminStorageRestorePointTable th:nth-child(7), .adminStorageRestorePointTable td:nth-child(7) {
  width: 18%;
}

.adminStorageRestorePointTable td:nth-child(3), .adminStorageRestorePointTable td:nth-child(4) {
  color: var(--fg);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
}

.adminStorageRestoreDrillsTable {
  table-layout: fixed;
}

.adminStorageRestoreTableFoot {
  align-items: center;
  padding-top: 12px;
}

.adminStorageTimelineFilters {
  flex-wrap: wrap;
  gap: 6px;
  padding-top: 12px;
  display: flex;
}

.adminStorageTimelineFilters button {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 20%);
  background: var(--bg);
  border-radius: 7px;
  min-height: 30px;
  padding: 0 10px;
}

.adminStorageTimelineList {
  gap: 0;
  padding-top: 6px;
  display: grid;
}

.adminStorageTimelineRow {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 26%);
  grid-template-columns: 118px 30px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  min-width: 0;
  padding: 12px 0;
  display: grid;
}

.adminStorageTimelineRow time {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}

.adminStorageTimelineMarker {
  background: color-mix(in srgb, var(--muted), white 90%);
  width: 28px;
  height: 28px;
  color: var(--muted);
  border-radius: 999px;
  place-items: center;
  display: inline-grid;
}

.adminStorageTimelineMarker.isPrimary {
  background: color-mix(in srgb, var(--focus), white 90%);
  color: var(--focus);
}

.adminStorageTimelineMarker.isSuccess {
  background: color-mix(in srgb, var(--success, var(--ok)), white 88%);
  color: color-mix(in srgb, var(--success, var(--ok)), black 12%);
}

.adminStorageTimelineMarker.isDanger {
  background: color-mix(in srgb, var(--danger), white 88%);
  color: var(--danger);
}

.adminStorageTimelineMain {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.adminStorageTimelineMain > strong {
  color: var(--fg);
  font-size: 14px;
  line-height: 1.25;
}

.adminStorageTimelineMain > span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.adminStorageTimelineMeta {
  color: var(--muted);
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  font-weight: 750;
  display: flex;
}

.adminStorageTimelineMeta small {
  color: var(--muted);
  overflow-wrap: anywhere;
  font-size: 11px;
}

.adminStorageRetentionSummary {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 24%);
  border-radius: var(--radius);
  gap: 0;
  display: grid;
  overflow: hidden;
}

.adminStorageRetentionSummary article {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  padding: 14px;
  display: grid;
}

.adminStorageRetentionSummary article + article {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 26%);
}

.adminStorageRetentionSummary article > span, .adminStorageSafetyCallout > span {
  background: color-mix(in srgb, var(--focus), white 92%);
  width: 32px;
  height: 32px;
  color: var(--focus);
  border-radius: 999px;
  place-items: center;
  display: inline-grid;
}

.adminStorageRetentionSummary div, .adminStorageSafetyCallout div {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.adminStorageRetentionSummary strong, .adminStorageSafetyCallout strong {
  color: var(--fg);
  font-size: 14px;
  line-height: 1.25;
}

.adminStorageRetentionSummary small, .adminStorageSafetyCallout small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.4;
}

.adminStorageSafetyCallout {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 64%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--focus), white 96%);
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  padding: 14px;
  display: grid;
}

.adminStorageRestoreSteps small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

@media (max-width: 1200px) {
  .adminStorageOverviewGrid, .adminStorageBackupsGrid, .adminStorageRestoreGrid, .adminStorageRestoreTopGrid, .adminStorageRestoreLowerGrid, .adminStorageSetupStepper, .adminStorageSetupGuideGrid, .adminStorageHealthLowerGrid, .adminStorageSetupGrid, .adminStorageReviewSummary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .adminStorageOverviewGridWide, .adminStorageRestoreSteps, .adminStorageRestoreStepper, .adminBackupOpsBottomGrid {
    grid-template-columns: minmax(0, 1fr);
  }

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

  .adminStorageRestorePointCells > div:nth-child(2n) {
    border-right: 0;
  }

  .adminStorageSetupProgressLayout {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  .adminStorageSetupProgressIntro .adminSettingsIntro {
    max-width: none;
  }

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

@media (max-width: 760px) {
  .adminBackupOpsPage {
    gap: 16px;
  }

  .adminBackupOpsLocalTabs {
    grid-template-columns: repeat(3, max-content);
    justify-content: start;
    gap: 0 34px;
    margin-top: 0;
    padding-bottom: 0;
    display: grid;
    overflow-x: visible;
  }

  .adminBackupOpsLocalTab {
    min-height: 42px;
    padding: 0;
    font-size: 15px;
  }

  .adminBackupOpsPageChrome, .adminBackupOpsPageChrome .adminBackupOpsHeroActions {
    flex-direction: column;
    align-items: stretch;
  }

  .adminBackupOpsPageChrome .adminBackupOpsHeroActions {
    margin-top: 0;
    margin-left: 0;
  }

  .adminBackupOpsPageChrome {
    height: auto;
    margin-top: 0;
  }

  .adminStorageSetupDesktop {
    display: none;
  }

  .adminStorageSetupMobile {
    gap: 12px;
    display: grid;
  }

  .adminStorageFamilyGrid, .adminStorageSignalStrip, .adminStorageOverviewGrid, .adminStorageBackupsGrid, .adminBackupOpsBottomGrid, .adminStorageRestoreGrid, .adminStorageRestoreTopGrid, .adminStorageRestoreLowerGrid, .adminStorageSetupStepper, .adminStorageSetupGuideGrid, .adminStorageSetupRetentionLayout, .adminStorageHealthLowerGrid, .adminStorageSetupGrid, .adminStorageReviewSummary, .adminStorageSetupCard .adminStorageTargetRows, .adminStorageSegmentedControl, .adminStorageScheduleOptions {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminStorageOverviewHead {
    align-items: flex-start;
  }

  .adminStorageOverviewMeta {
    gap: 4px 8px;
    font-size: 13px;
  }

  .adminStorageOverviewMeta span + span:before {
    margin-right: 8px;
  }

  .adminStorageStackedBar {
    height: 14px;
  }

  .adminStorageOverviewCard .adminStorageTitleWithIcon .adminSettingsChecklistTitle {
    font-size: 17px;
    line-height: 1.25;
  }

  .adminStorageFamilyGrid {
    gap: 0;
    padding-top: 2px;
  }

  .adminStorageFamilyRow {
    grid-template-columns: auto minmax(0, 1fr) minmax(96px, auto);
    gap: 8px;
    height: auto;
    padding: 6px 0;
    font-size: 13px;
  }

  .adminStorageFamilyRow > strong {
    white-space: normal;
  }

  .adminStorageFamilyMetric {
    grid-template-columns: minmax(0, auto) minmax(34px, auto);
    gap: 6px;
    font-size: 12px;
  }

  .adminStorageFamilyMetric span, .adminStorageFamilyMetric small {
    font-size: 12px;
  }

  .adminStorageSignalStrip {
    border: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
    border-radius: calc(var(--radius) + 2px);
    background: #fff;
    margin: 8px 0 0;
    font-size: 13px;
    overflow: hidden;
  }

  .adminStorageSignalItem {
    min-height: 34px;
    padding: 9px 12px;
  }

  .adminStorageSignalItem span {
    white-space: normal;
  }

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

  .adminStorageStatusCard > .adminBackupOpsSurfaceBody {
    gap: 10px;
    padding: 14px;
  }

  .adminStorageStatusTitle {
    align-items: flex-start;
    gap: 9px;
  }

  .adminStorageStatusTitle .adminSettingsChecklistTitle {
    font-size: 15px;
    line-height: 1.25;
  }

  .adminStorageStatusCenter {
    text-align: left;
    place-items: start;
    min-height: 0;
    padding: 0;
  }

  .adminStorageStatusCenter .adminStorageIconBadge.isCenter {
    display: none;
  }

  .adminStorageStatusCenter strong {
    font-size: 14px;
  }

  .adminStorageStatusCenter span {
    font-size: 13px;
  }

  .adminStorageStatusChips {
    justify-content: flex-start;
  }

  .adminStorageProtectionSummary {
    align-content: start;
    min-height: 0;
    padding-top: 10px;
  }

  .adminStorageProtectionSummary .pill {
    justify-self: start;
  }

  .adminStorageDailyHealthCard .adminBackupOpsSurfaceBody, .adminStorageHealthPanel .adminBackupOpsSurfaceBody {
    padding: 14px;
  }

  .adminStorageDailyHealthHeader {
    grid-template-columns: minmax(0, 1fr) minmax(118px, auto);
    gap: 9px;
    padding-bottom: 8px;
  }

  .adminStorageHealthLastCheck {
    text-align: right;
    justify-items: end;
  }

  .adminStorageHealthTableHead {
    display: none;
  }

  .adminStorageHealthRow {
    grid-template-columns: minmax(0, 1fr) 128px;
    grid-template-areas: "check action"
                         "status action"
                         "explanation explanation";
    align-items: center;
    gap: 8px 12px;
    min-height: 86px;
    padding: 11px 12px;
  }

  .adminStorageHealthCheck {
    grid-area: check;
    gap: 8px;
    font-size: 13px;
    line-height: 1.25;
  }

  .adminStorageHealthCheck > span:last-child {
    overflow-wrap: anywhere;
    min-width: 0;
  }

  .adminStorageHealthCheckIcon {
    width: 28px;
    height: 28px;
  }

  .adminStorageHealthRow > span:nth-child(2) {
    grid-area: status;
    justify-self: start;
  }

  .adminStorageHealthRow > span:nth-child(3) {
    grid-area: explanation;
    font-size: 13px;
  }

  .adminStorageHealthRow > span:nth-child(4) {
    grid-area: action;
    justify-self: stretch;
  }

  .adminStorageHealthAction {
    white-space: normal;
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 7px 9px;
  }

  .adminStorageTableFoot {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding-top: 10px;
    font-size: 12px;
  }

  .adminStorageHealthPanel .adminStoragePanelPreview {
    display: none;
  }

  .adminStoragePanelDisclosure, .adminStoragePanelLink {
    border-top: 0;
    margin-top: 2px;
    padding-top: 0;
  }

  .adminStoragePanelDisclosure summary, .adminStoragePanelLink {
    justify-content: flex-end;
    min-height: 26px;
    font-size: 0;
  }

  .adminStoragePanelDisclosure summary span, .adminStoragePanelLink span {
    clip: rect(0 0 0 0);
    white-space: nowrap;
    width: 1px;
    height: 1px;
    position: absolute;
    overflow: hidden;
  }

  .adminStoragePanelDisclosure summary svg, .adminStoragePanelLink svg {
    width: 22px;
    height: 22px;
    color: color-mix(in srgb, var(--muted), var(--fg) 18%);
  }

  .adminStoragePanelDisclosureRows .adminStorageCompactRow:nth-child(-n+3), .adminStoragePanelDisclosureRows.adminStorageActionQueue .adminStorageActionQueueItem:nth-child(-n+3) {
    display: grid;
  }

  .adminStoragePanelDisclosure[open] {
    border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 24%);
    padding-top: 8px;
  }

  .adminStorageHealthLowerGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 10px;
  }

  .adminStorageHealthPanel, .adminStorageHealthPanel .adminBackupOpsSurfaceBody {
    height: auto;
  }

  .adminStorageHealthPanel .adminStorageTitleWithIcon {
    align-items: flex-start;
    gap: 9px;
  }

  .adminStorageHealthPanel .adminSettingsChecklistTitle {
    font-size: 16px;
    line-height: 1.2;
  }

  .adminStorageHealthPanel .adminSettingsIntro {
    font-size: 13px;
    line-height: 1.35;
  }

  .adminStorageQueueHead {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    display: grid;
  }

  .adminStorageLegendRows article {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
  }

  .adminStorageRecommendation {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 8px 12px;
  }

  .adminStorageRecommendation .adminStorageIconBadge {
    grid-row: 1 / span 2;
  }

  .adminStorageInlineAction {
    grid-column: 2;
    justify-content: center;
    inline-size: 100%;
  }

  .adminStorageInsightPanel {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 14px;
    padding: 14px;
  }

  .adminStorageInsightGlyph {
    width: 86px;
    height: 86px;
  }

  .adminStorageInsightAction {
    width: 100%;
  }

  .adminStorageCompactAction {
    justify-content: center;
    inline-size: 100%;
  }

  .adminStorageStageTracker, .adminStorageReadinessRow, .adminStorageRestoreStepper article, .adminStorageRestoreStack .adminStorageInfoNote, .adminStorageRestorePointCells, .adminStorageTimelineRow, .adminStorageSafetyCallout, .adminStorageGuardrailRow, .adminStorageRestoreWarning {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminStorageStageStep {
    text-align: left;
    grid-template-columns: auto minmax(0, 1fr);
    justify-items: start;
  }

  .adminStorageStageStep:before {
    display: none;
  }

  .adminStorageRestoreStepper article {
    text-align: left;
    justify-items: start;
  }

  .adminStorageRestoreStepper article:before {
    display: none;
  }

  .adminStorageRestorePointCells > div {
    border-right: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 24%);
  }

  .adminStorageRestorePointCells > div:last-child {
    border-bottom: 0;
  }

  .adminStorageSignalItem + .adminStorageSignalItem {
    border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 20%);
    border-left: 0;
  }

  .adminStorageActionQueueItem, .adminStorageInfoNote, .adminStorageRetentionRows label, .adminStorageTargetRows label, .adminStorageSetupCard .adminStorageTargetRows label {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminStorageRestoreLowerGrid .adminBackupOpsBackupTableWrap {
    overflow-x: auto;
  }

  .adminStorageSetupMobileNote {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    padding: 14px;
  }

  .adminStorageSetupMobileSection summary {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .adminStorageSetupMobileChevron {
    grid-column: 3;
  }

  .adminStorageSetupMobileChip {
    justify-self: end;
  }

  .adminBackupOpsHeaderActions {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    max-width: none;
    margin-left: 0;
    display: grid;
  }

  .adminBackupOpsHeaderActions .btn {
    width: 100%;
    min-height: 44px;
  }

  .adminBackupOpsLocalTabs {
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 0;
    display: flex;
    overflow-x: auto;
  }

  .adminBackupOpsLocalTab {
    min-height: 44px;
    font-size: 13px;
  }

  .adminStorageRestoreTopGrid, .adminStorageRestoreLowerGrid {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  .adminStorageReadinessRow {
    grid-template-columns: 30px minmax(0, 1fr) minmax(78px, auto);
    gap: 8px;
    padding: 12px 0;
  }

  .adminStorageReadinessValue {
    text-align: right;
    justify-items: end;
  }

  .adminStorageReadinessValue strong {
    max-width: 104px;
    font-size: 12px;
  }

  .adminStorageGuardrailRow {
    grid-template-columns: 30px minmax(0, 1fr) auto;
    gap: 9px;
    padding: 12px 0;
  }

  .adminStorageRestoreStepper {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 18px 2px 8px;
  }

  .adminStorageRestoreStepper article {
    text-align: center;
    justify-items: center;
    gap: 8px;
  }

  .adminStorageRestoreStepper article:before {
    display: block;
    top: 13px;
  }

  .adminStorageRestoreStepper article > span {
    width: 28px;
    height: 28px;
    font-size: 12px;
  }

  .adminStorageRestoreStepper div {
    gap: 4px;
    max-width: 80px;
  }

  .adminStorageRestoreStepper strong {
    font-size: 11px;
    line-height: 1.18;
  }

  .adminStorageRestoreStepper small {
    font-size: 10px;
    line-height: 1.25;
  }

  .adminStorageRestoreStack .adminStorageInfoNote {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px 10px;
  }

  .adminStorageRestoreStack .adminStorageInfoNote span {
    grid-column: 2;
  }

  .adminStorageRestorePointTable {
    border-collapse: separate;
    border-spacing: 0;
    min-width: 0;
  }

  .adminStorageRestorePointTable thead {
    display: none;
  }

  .adminStorageRestorePointTable, .adminStorageRestorePointTable tbody, .adminStorageRestorePointTable tr, .adminStorageRestorePointTable td {
    width: auto;
    display: block;
  }

  .adminStorageRestorePointTable tbody {
    display: grid;
  }

  .adminStorageRestorePointTable tbody tr {
    border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
    grid-template-columns: minmax(0, 1fr) 104px;
    grid-template-areas: "date action"
                         "contents action"
                         "status verification"
                         "location test";
    gap: 9px 8px;
    padding: 12px 10px;
    display: grid;
  }

  .adminStorageRestorePointTable tbody tr:last-child {
    border-bottom: 0;
  }

  .adminStorageRestorePointTable tbody tr.isSelected {
    background: color-mix(in srgb, var(--focus), white 97%);
  }

  .adminStorageRestorePointTable tr.isSelected td {
    background: none;
  }

  .adminStorageRestorePointTable td {
    min-width: 0;
    border: 0 !important;
    width: auto !important;
    padding: 0 !important;
  }

  .adminStorageRestorePointTable td:first-child {
    grid-area: date;
  }

  .adminStorageRestorePointTable td:nth-child(2) {
    grid-area: status;
  }

  .adminStorageRestorePointTable td:nth-child(3) {
    grid-area: contents;
  }

  .adminStorageRestorePointTable td:nth-child(4) {
    grid-area: location;
  }

  .adminStorageRestorePointTable td:nth-child(5) {
    grid-area: verification;
  }

  .adminStorageRestorePointTable td:nth-child(6) {
    grid-area: test;
  }

  .adminStorageRestorePointTable td:nth-child(7) {
    grid-area: action;
    place-self: center end;
    width: 104px;
  }

  .adminStorageRestorePointTable td:nth-child(n+2):nth-child(-n+6):before {
    display: none;
  }

  .adminStorageRestorePointTable td:nth-child(3), .adminStorageRestorePointTable td:nth-child(4) {
    font-size: 11px;
    line-height: 1.2;
  }

  .adminStorageRestoreRowAction {
    white-space: normal;
    width: 100%;
    min-height: 36px;
  }

  .adminStorageRestoreDrillsTable {
    width: 100%;
    min-width: 0;
  }

  .adminStorageRestoreDrillsTable th, .adminStorageRestoreDrillsTable td {
    padding-left: 8px;
    padding-right: 8px;
  }

  .adminStorageRestoreDrillsTable th {
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .adminStorageRestoreWarning {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
  }
}

@media (max-width: 380px) {
  .adminStorageOverviewGrid, .adminStorageRecommendation, .adminStorageHealthLowerGrid, .adminStorageInsightPanel {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminStorageRecommendation .adminStorageIconBadge {
    grid-row: auto;
  }

  .adminStorageInlineAction {
    grid-column: auto;
  }
}

@media (max-width: 1100px) {
  .adminBackupOpsSummaryGrid, .adminBackupOpsAssuranceGrid, .adminBackupOpsProtectionGrid, .adminBackupOpsConfigGrid, .adminBackupOpsBottomGrid, .adminBackupOpsDecisionGrid, .adminBackupOpsLoadingGrid, .adminBackupOpsBreakdownGrid, .adminBackupOpsContentsGrid, .adminBackupOpsConfigSummary, .adminBackupOpsProtectedMetrics, .adminBackupOpsSourceGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

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

  .adminBackupOpsConfigSummary div:nth-child(3n) {
    border-right: 1px solid color-mix(in srgb, var(--stroke), transparent 20%);
  }

  .adminBackupOpsConfigSummary div:nth-child(2n) {
    border-right: 0;
  }
}

@media (max-width: 760px) {
  .adminBackupOpsHeroBody, .adminBackupOpsSurfaceBody, .adminBackupOpsRestoreBody {
    padding: 16px;
  }

  .adminBackupOpsHeroBody, .adminBackupOpsSummaryGrid, .adminBackupOpsAssuranceGrid, .adminBackupOpsProtectionGrid, .adminBackupOpsConfigGrid, .adminBackupOpsBottomGrid, .adminBackupOpsDecisionGrid, .adminBackupOpsLoadingGrid, .adminBackupOpsBreakdownGrid, .adminBackupOpsContentsGrid, .adminBackupOpsHeroFacts, .adminBackupOpsConfigSummary, .adminBackupOpsCoverageRow, .adminBackupOpsPlanSummary div, .adminBackupOpsProtectedRow, .adminBackupOpsProtectedMetrics, .adminBackupOpsWizardSteps, .adminBackupOpsSourceGrid, .adminBackupOpsCheckList, .adminBackupOpsFieldPair, .adminBackupOpsRestoreFields {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminBackupOpsHeroHeader {
    flex-direction: column;
  }

  .adminBackupOpsConfigSummary div, .adminBackupOpsConfigSummary div:nth-child(n) {
    border-right: 0;
  }

  .adminBackupOpsHeroActions, .adminBackupOpsActionRow, .adminBackupOpsRunHeader, .adminBackupOpsSectionHead {
    flex-direction: column;
    align-items: stretch;
  }

  .adminBackupOpsHeroActions .btn, .adminBackupOpsActionRow .btn, .adminBackupOpsSaveButton {
    width: 100%;
  }

  .adminBackupOpsMetaGrid, .adminBackupOpsLocationGrid, .adminBackupOpsSetupChecklist, .adminBackupOpsRunSnapshot, .adminBackupOpsArtifactTableHead, .adminBackupOpsArtifactTableRow {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminBackupOpsDangerAction {
    margin-left: 0;
  }
}

.adminBackupOpsPage {
  gap: 14px;
  width: 100%;
  max-width: none;
}

.adminBackupOpsPage .adminBackupOpsSurfaceBody {
  padding: 16px 18px;
}

.adminStorageBackupsGrid {
  grid-template-columns: minmax(0, .92fr) minmax(460px, 1.08fr);
  align-items: stretch;
  gap: 14px;
}

.adminBackupOpsPage .adminStorageBackupsGrid > .adminBackupOpsSurface {
  height: 100%;
}

.adminBackupOpsPage .adminStorageBackupsGrid > .adminBackupOpsSurface > .adminBackupOpsSurfaceBody {
  box-sizing: border-box;
  height: 100%;
}

.adminBackupOpsBottomGrid {
  grid-template-columns: minmax(0, 1.55fr) minmax(360px, .85fr);
  gap: 14px;
}

.adminStorageOperationsEmpty {
  border-style: solid;
  border-left: 3px solid var(--ok);
  text-align: left;
  background: #fff;
  align-content: start;
  place-items: flex-start start;
  min-height: 0;
  padding: 14px 16px;
}

.adminStorageOperationsEmpty .adminStorageCompactAction {
  justify-self: start;
}

.adminStorageRunsTableWrap {
  border-top: 0;
  max-height: none;
  overflow-x: visible;
}

.adminStorageRunsTable {
  table-layout: fixed;
  min-width: 0;
}

.adminStorageRunsTable thead th {
  padding: 9px 8px;
  font-size: 10px;
  line-height: 1.15;
}

.adminStorageRunsTable tbody td {
  padding: 8px;
  font-size: 12px;
  line-height: 1.25;
}

.adminStorageRunsTable th:first-child, .adminStorageRunsTable td:first-child {
  width: 8%;
}

.adminStorageRunsTable th:nth-child(2), .adminStorageRunsTable td:nth-child(2) {
  width: 10.5%;
}

.adminStorageRunsTable th:nth-child(3), .adminStorageRunsTable td:nth-child(3) {
  width: 6%;
}

.adminStorageRunsTable th:nth-child(4), .adminStorageRunsTable td:nth-child(4) {
  width: 12%;
}

.adminStorageRunsTable th:nth-child(5), .adminStorageRunsTable td:nth-child(5) {
  width: 9.5%;
}

.adminStorageRunsTable th:nth-child(6), .adminStorageRunsTable td:nth-child(6) {
  width: 8%;
}

.adminStorageRunsTable th:nth-child(7), .adminStorageRunsTable td:nth-child(7), .adminStorageRunsTable th:nth-child(8), .adminStorageRunsTable td:nth-child(8), .adminStorageRunsTable th:nth-child(9), .adminStorageRunsTable td:nth-child(9) {
  width: 8.5%;
}

.adminStorageRunsTable th:nth-child(10), .adminStorageRunsTable td:nth-child(10) {
  width: 7.5%;
}

.adminStorageRunsTable th:nth-child(11), .adminStorageRunsTable td:nth-child(11) {
  width: 11.5%;
}

.adminStorageRunsTable td:nth-child(2), .adminStorageRunsTable td:nth-child(3), .adminStorageRunsTable td:nth-child(4), .adminStorageRunsTable td:nth-child(5), .adminStorageRunsTable td:nth-child(6) {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.adminStorageRunsTable td:nth-child(4) {
  font-family: var(--font-mono);
  font-size: 11.5px;
}

.adminStorageRunsTable .adminBackupOpsStatusPill {
  min-height: 20px;
  padding: 2px 7px;
  font-size: 11px;
}

.adminStorageBackupActionGroup {
  flex-wrap: nowrap;
  gap: 6px;
}

.adminStorageMiniButton, .adminStorageRowMenu summary {
  min-height: 32px;
}

.adminStorageMobileRunsList {
  display: none;
}

@media (min-width: 861px) {
  .adminBackupOpsBottomGrid .adminStorageTimelineFilters {
    padding-top: 8px;
  }

  .adminBackupOpsBottomGrid .adminStorageTimelineRow {
    grid-template-columns: 112px 22px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 9px 0;
  }

  .adminBackupOpsBottomGrid .adminStorageTimelineMarker {
    background: none;
    width: 18px;
    height: 18px;
  }

  .adminBackupOpsBottomGrid .adminStorageTimelineMarker svg {
    width: 14px;
    height: 14px;
  }

  .adminBackupOpsBottomGrid .adminStorageTimelineMain {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 2px 12px;
  }

  .adminBackupOpsBottomGrid .adminStorageTimelineMain > strong, .adminBackupOpsBottomGrid .adminStorageTimelineMain > span {
    grid-column: 1;
  }

  .adminBackupOpsBottomGrid .adminStorageTimelineMeta {
    grid-area: 1 / 2 / span 2;
    justify-content: flex-end;
    gap: 6px;
  }
}

@media (max-width: 1200px) and (min-width: 761px) {
  .adminStorageBackupsGrid {
    grid-template-columns: minmax(0, .95fr) minmax(380px, 1.05fr);
  }
}

@media (max-width: 860px) {
  .adminStorageBackupsGrid, .adminBackupOpsBottomGrid {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminBackupOpsPage .adminBackupOpsSurfaceBody {
    padding: 16px;
  }

  .adminStorageRunsTableWrap {
    display: none;
  }

  .adminStorageMobileRunsList {
    border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 20%);
    gap: 10px;
    padding-top: 10px;
    display: grid;
  }

  .adminStorageMobileRunCard {
    border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
    border-radius: var(--radius);
    background: #fff;
    gap: 12px;
    min-width: 0;
    padding: 12px;
    display: grid;
  }

  .adminStorageMobileRunHeader {
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    display: flex;
  }

  .adminStorageMobileRunHeader strong {
    font-family: var(--font-mono);
    font-size: 13px;
    line-height: 1.25;
  }

  .adminStorageMobileRunFacts {
    border: 1px solid color-mix(in srgb, var(--stroke), transparent 22%);
    border-radius: var(--radius);
    gap: 0;
    margin: 0;
    display: grid;
    overflow: hidden;
  }

  .adminStorageMobileRunFacts div {
    border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 26%);
    grid-template-columns: minmax(96px, .45fr) minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 9px 10px;
    display: grid;
  }

  .adminStorageMobileRunFacts div:first-child {
    border-top: 0;
  }

  .adminStorageMobileRunFacts dt {
    color: var(--muted);
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 850;
  }

  .adminStorageMobileRunFacts dd {
    min-width: 0;
    color: var(--fg);
    overflow-wrap: anywhere;
    text-align: right;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
    margin: 0;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.25;
    display: flex;
  }

  .adminStorageMobileRunActions {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 44px;
    align-items: center;
    gap: 8px;
    display: grid;
  }

  .adminStorageMobileRunActions .adminStorageMiniButton {
    justify-content: center;
    width: 100%;
    min-height: 44px;
  }

  .adminStorageMobileRowMenu, .adminStorageMobileRowMenu summary {
    width: 44px;
  }

  .adminStorageMobileRowMenu summary {
    min-height: 44px;
  }
}

@media (max-width: 520px) {
  .adminStorageMobileRunActions {
    grid-template-columns: minmax(0, 1fr) 44px;
  }

  .adminStorageMobileRunActions > .adminStorageMiniButton:nth-child(2) {
    grid-area: 2 / 1 / auto / -1;
  }
}

.adminListCardBody {
  gap: 10px;
  display: grid;
}

.adminAccessCheckGrid {
  gap: 8px;
  display: grid;
}

.adminAccessCheckItem {
  align-items: center;
  gap: 8px;
  min-height: 32px;
  display: flex;
}

.adminAccessPillWrap {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.adminAccessActions {
  justify-content: flex-start;
  display: flex;
}

.adminRolesOverviewGrid {
  gap: 10px;
  display: grid;
}

.adminRolesOverviewCard {
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.adminRolesOverviewIcon {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 72%);
  background: color-mix(in srgb, var(--focus), white 94%);
  width: 38px;
  height: 38px;
  color: color-mix(in srgb, var(--focus), black 10%);
  border-radius: 12px;
  flex: 0 0 38px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.adminRolesOverviewText {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminRolesOverviewLabel, .adminRolesOverviewHint, .adminRolesOverviewValue {
  margin: 0;
}

.adminRolesOverviewLabel {
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--muted);
  font-size: 12px;
}

.adminRolesOverviewValue {
  font-family: var(--font-condensed);
  font-size: 28px;
  line-height: 1;
}

.adminRolesOverviewHint {
  font-size: 13px;
}

.adminRolesOverviewPills {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  display: flex;
}

.adminRolesImpactSummary {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 12px;
  display: grid;
}

.adminRolesImpactItem {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg-2), white 28%);
  gap: 2px;
  min-width: 0;
  padding: 10px 12px;
  display: grid;
}

.adminRolesImpactItem strong {
  font-family: var(--font-condensed);
  font-size: 24px;
  line-height: 1;
}

.adminRolesPageSurface .adminFinanceReviewSections, .adminRolesPageSurface .adminSectionDisclosures {
  gap: 0;
}

.adminRolesPageSurface .adminFinanceReviewSectionBody, .adminRolesPageSurface .adminSectionDisclosureBody {
  gap: 14px;
}

.adminRolesSectionActions, .adminRolesDetailMeta {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminRolesWorkspace {
  align-items: start;
  gap: 16px;
  display: grid;
}

.adminRolesWorkspaceV2 {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  display: grid;
}

.adminRolesRoleRail, .adminRolesEditorColumn, .adminRolesImpactPanelInner, .adminRolesSelectedOverview, .adminRolesDangerZone {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 6%);
  border-radius: calc(var(--radius) + 2px);
  background: #fff;
}

.adminRolesRoleRail {
  align-self: start;
  gap: 12px;
  padding: 14px;
  display: grid;
}

.adminRolesRailHeader, .adminRolesSelectedOverview, .adminRolesDangerZone, .adminRolesReviewHead {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.adminRolesEditorColumn {
  background: none;
  border: 0;
  gap: 14px;
  min-width: 0;
  padding: 0;
  display: grid;
}

.adminRolesEditorColumn > *, .adminRolesSelectedOverview, .adminRolesPageSection, .adminRolesMatrixToolbar, .adminRolesMatrixToolbarControls {
  min-width: 0;
}

.adminRolesSelectedOverview {
  background: #fff;
  grid-template-columns: minmax(0, 1fr);
  justify-content: stretch;
  align-items: stretch;
  gap: 14px;
  padding: 14px;
  display: grid;
}

.adminRolesSelectedOverview > div {
  min-width: 0;
}

.adminRolesSelectedHeader {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  display: flex;
}

.adminRolesSelectedIntro {
  gap: 5px;
  max-width: 760px;
  display: grid;
}

.adminRolesSelectedIntro .adminRolesEditorEyebrow, .adminRolesSelectedIntro .adminRolesEditorTitle, .adminRolesSelectedIntro > .muted {
  margin: 0;
}

.adminRolesSelectedIntro .adminRolesEditorTitle {
  line-height: 1.15;
}

.adminRolesSelectedIntro > .muted {
  line-height: 1.4;
}

.adminRolesProtectedNotice {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 76%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--focus), white 97%);
  width: fit-content;
  max-width: 100%;
  color: color-mix(in srgb, var(--ink), var(--focus) 14%);
  align-items: flex-start;
  gap: 8px;
  margin-top: 4px;
  padding: 8px 10px;
  line-height: 1.35;
  display: inline-flex;
}

.adminRolesProtectedNoticeIcon {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 62%);
  width: 22px;
  height: 22px;
  color: color-mix(in srgb, var(--focus), black 8%);
  background: #fff;
  border-radius: 999px;
  flex: 0 0 22px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.adminRolesProtectedNotice > span:last-child {
  gap: 1px;
  min-width: 0;
  display: grid;
}

.adminRolesProtectedNotice strong {
  font-size: 13px;
}

.adminRolesProtectedNotice span span {
  color: var(--muted);
  font-size: 13px;
}

.adminRolesImpactPanel {
  display: none;
}

.adminRolesImpactPanelInner {
  gap: 12px;
  padding: 14px;
  display: grid;
}

.adminRolesImpactStats {
  grid-template-columns: repeat(auto-fit, minmax(138px, 1fr));
  gap: 8px;
  display: grid;
}

.adminRolesSelectedImpact {
  grid-column: 1 / -1;
  gap: 12px;
  width: 100%;
  display: grid;
}

.adminRolesSelectedDetails {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  gap: 12px;
  padding-top: 14px;
  display: grid;
}

.adminRolesSelectedOverview .adminRolesMetaGrid {
  align-items: start;
  gap: 12px 16px;
}

.adminRolesSelectedOverview .adminRolesMetaGrid .field {
  min-width: 0;
  margin-top: 0;
}

.adminRolesSelectedOverview .adminRolesMetaGrid .input {
  width: 100%;
  max-width: 100%;
}

.adminRolesSelectedOverview .adminRolesFieldWide {
  max-width: none;
}

.adminRolesImpactStats button {
  text-align: left;
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg-2), white 24%);
  min-width: 0;
  color: inherit;
  cursor: pointer;
  gap: 3px;
  padding: 10px;
  display: grid;
}

.adminRolesImpactStats button:hover {
  border-color: color-mix(in srgb, var(--focus), transparent 55%);
  background: color-mix(in srgb, var(--focus), white 96%);
}

.adminRolesImpactStats strong {
  font-family: var(--font-condensed);
  font-size: 22px;
  line-height: 1;
}

.adminRolesImpactWarnings {
  gap: 8px;
  display: grid;
}

.adminRolesImpactWarnings ul, .adminRolesReviewGrid ul {
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.adminRolesImpactWarnings li {
  color: color-mix(in srgb, var(--danger), black 16%);
  align-items: center;
  gap: 6px;
  display: flex;
}

.adminRolesImpactWarnings li svg {
  flex: none;
}

.adminRolesDependencyMessage, .adminRolesCriticalNote {
  border: 1px solid color-mix(in srgb, var(--warning), transparent 46%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--warning), white 90%);
  color: color-mix(in srgb, var(--warning), black 36%);
  margin: 0;
  padding: 8px 10px;
  font-size: 13px;
  line-height: 1.4;
}

.adminRolesWorkspaceList, .adminRolesWorkspaceEditor, .adminRolesCatalogToolbar, .adminRolesCatalogModuleCard {
  gap: 14px;
  display: grid;
}

.adminRolesWorkspaceList {
  gap: 16px;
}

.adminRolesWorkspaceHead, .adminRolesCatalogModuleHead {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.adminRolesEditorHeader {
  gap: 8px;
  display: grid;
}

.adminRolesWorkspaceHeadActions, .adminRolesEditorHeaderActions {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.adminRolesWorkspaceHeadActions .btn, .adminRolesEditorHeaderActions .btn {
  min-height: 40px;
}

.adminRolesList {
  gap: 10px;
  display: grid;
}

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

.adminRolesListItem {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 6%);
  border-radius: calc(var(--radius) + 2px);
  background: linear-gradient(180deg, color-mix(in srgb, white, var(--bg) 2%) 0%, color-mix(in srgb, var(--bg-2), white 18%) 100%);
  text-align: left;
  cursor: pointer;
  gap: 8px;
  width: 100%;
  padding: 13px 14px;
  transition: border-color .14s, background .14s, transform .14s, box-shadow .14s;
  display: grid;
}

.adminRolesListItem .adminRolesOverviewPills {
  padding-top: 2px;
}

.adminRolesListItem:hover {
  border-color: color-mix(in srgb, var(--focus), transparent 58%);
  transform: translateY(-1px);
}

.adminRolesListItem.isActive {
  border-color: color-mix(in srgb, var(--focus), transparent 34%);
  background: linear-gradient(180deg, color-mix(in srgb, var(--focus), white 96%) 0%, color-mix(in srgb, var(--focus), white 92%) 100%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--focus), transparent 70%);
}

.adminRolesListItemHeader, .adminRolesCatalogRowHead {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.adminRolesListItemTitleWrap {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminRolesListItemTitle, .adminRolesCatalogItemTitle, .adminRolesCapabilityRowTitle, .adminRolesModuleTitle {
  margin: 0;
  font-weight: 700;
}

.adminRolesCapabilityRowTitleWrap {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminRolesCapabilityPage {
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.adminRolesListItemDesc, .adminRolesCatalogItemDesc {
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin: 0;
  line-height: 1.45;
  display: -webkit-box;
  overflow: hidden;
}

.adminRolesEditorEyebrow, .adminRolesModuleEyebrow {
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0;
  font-size: 12px;
  font-weight: 700;
}

.adminRolesEditorTitle {
  margin-bottom: 0;
}

.adminRolesOperatorNote {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 82%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, var(--focus), white 98%);
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  display: flex;
}

.adminRolesOperatorNoteIcon {
  width: 28px;
  height: 28px;
  color: color-mix(in srgb, var(--focus), black 8%);
  border: 1px solid color-mix(in srgb, var(--focus), transparent 74%);
  background: #fff;
  border-radius: 9px;
  flex: 0 0 28px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.adminRolesOperatorNote > div {
  min-width: 0;
}

.adminRolesOperatorNote strong, .adminRolesOperatorNote p {
  margin: 0;
}

.adminRolesOperatorNote p {
  margin-top: 2px;
  line-height: 1.4;
}

.adminRolesMetaGrid {
  gap: 10px;
  display: grid;
}

.adminRolesFieldWide {
  grid-column: 1 / -1;
}

.adminRolesCreateKeyHint {
  max-width: 340px;
  line-height: 1.45;
}

.adminRolesMatrixSection {
  gap: 14px;
  display: grid;
}

.adminRolesPermissionsHead {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  display: flex;
}

.adminRolesPermissionsHead h3, .adminRolesPermissionsHead p {
  margin: 0;
}

.adminRolesPermissionsStats {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminRolesPermissionsStats button {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg-2), white 28%);
  min-height: 34px;
  color: var(--ink);
  cursor: pointer;
  padding: 7px 10px;
  font-size: 12px;
  font-weight: 700;
}

.adminRolesMatrixToolbar {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, var(--bg-2), white 22%);
  gap: 12px;
  padding: 12px;
  display: grid;
}

.adminRolesMatrixToolbarHint {
  margin: 4px 0 0;
}

.adminRolesMatrixToolbarControls {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.adminRolesMatrixToolbarControls > input.input {
  flex: 260px;
  min-width: 220px;
}

.adminRolesMatrixToolbarControls > .adminRolesMatrixSelect {
  flex: 126px;
  max-width: 170px;
}

.adminRolesMatrixToolbarControls > .adminRoleActionBtn {
  flex: none;
}

.adminRolesQuickFilters {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  display: flex;
}

.adminRolesMatrixFilters {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminRolesMatrixSelect {
  width: 100%;
  min-width: 0;
  min-height: 38px;
}

.adminRolesModuleGrid, .adminRolesCatalogGrid {
  gap: 10px;
  display: grid;
}

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

.adminRolesModuleCard {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 6%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, var(--bg-2), white 18%);
  gap: 10px;
  padding: 12px 14px;
  display: grid;
}

.adminRolesModuleDetails {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 6%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, var(--bg-2), white 18%);
  gap: 0;
  position: relative;
  overflow: clip;
}

.adminRolesModuleSummary {
  align-items: center;
  padding: 10px 14px;
}

.adminRolesModuleSummary .adminSectionDisclosureSummary {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.adminRolesModuleSummary .adminRolesModuleTitle {
  font-size: 16px;
  line-height: 1.15;
}

.adminRolesModuleTitleRow {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: inline-flex;
}

.adminRolesModuleDetails .adminFinanceReviewSectionChevron, .adminRolesModuleDetails .adminSectionDisclosureChevron {
  transform: rotate(-90deg);
}

.adminRolesModuleDetails[open] .adminFinanceReviewSectionChevron, .adminRolesModuleDetails[open] .adminSectionDisclosureChevron {
  transform: rotate(0);
}

.adminRolesModuleDetails .adminFinanceReviewSectionToggleGlyph, .adminRolesModuleDetails .adminSectionDisclosureToggleGlyph {
  margin-top: 0;
}

.adminRolesModuleDetails .adminRolesModuleCard {
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  background: none;
  border-radius: 0;
}

.adminRolesModuleHeadActions {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.adminRolesMatrixTableWrap {
  width: 100%;
  overflow: auto visible;
}

.adminRolesMatrixTable {
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  min-width: 680px;
  font-size: 13px;
}

.adminRolesMatrixTable th, .adminRolesMatrixTable td {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  text-align: left;
  vertical-align: top;
  padding: 8px;
}

.adminRolesMatrixTable th:first-child {
  width: 50%;
}

.adminRolesMatrixTable th:not(:first-child), .adminRolesMatrixTable td:not(:first-child) {
  text-align: center;
  vertical-align: middle;
  width: 12.5%;
}

.adminRolesMatrixTable th:last-child, .adminRolesMatrixTable td:last-child {
  width: 112px;
}

.adminRolesMatrixTable thead th {
  z-index: 1;
  background: color-mix(in srgb, var(--bg-2), white 16%);
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 11px;
  position: sticky;
  top: 0;
}

.adminRolesMatrixTable tbody tr:hover {
  background: color-mix(in srgb, var(--focus), white 98%);
}

.adminRolesMatrixTable tbody tr.isChanged {
  background: color-mix(in srgb, var(--warning), white 94%);
}

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

.adminRolesMatrixRowTitle, .adminRolesMatrixRowDesc, .adminRolesMatrixKeyList {
  display: block;
}

.adminRolesMatrixRowTitle {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  display: inline-flex;
}

.adminRolesMatrixRowDesc {
  margin-top: 2px;
  line-height: 1.35;
}

.adminRolesMatrixKeyList {
  color: var(--muted);
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 100%;
  margin-top: 4px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, monospace;
  font-size: 11px;
  line-height: 1.35;
  overflow: hidden;
}

.adminRolesMatrixToggle {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  white-space: nowrap;
  background: #fff;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  width: 32px;
  min-height: 32px;
  margin: 0 4px 5px 0;
  padding: 5px;
  display: inline-flex;
}

.adminRolesMatrixToggle span {
  clip: rect(0 0 0 0);
  white-space: nowrap;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}

.adminRolesMatrixToggle.isChecked {
  border-color: color-mix(in srgb, var(--focus), transparent 42%);
  background: color-mix(in srgb, var(--focus), white 94%);
  color: color-mix(in srgb, var(--focus), black 10%);
}

.adminRolesMatrixToggle.isChanged {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--warning), transparent 25%);
}

.adminRolesMatrixToggle.isInherited {
  border-style: dashed;
}

.adminRolesMatrixToggle.isInherited input {
  cursor: not-allowed;
}

.adminRolesMatrixToggle input {
  margin: 0;
}

.adminRolesRiskText {
  color: var(--muted);
  font-weight: 700;
}

.adminRolesDependencyPopover {
  display: inline-flex;
  position: relative;
}

.adminRolesDependencyPopover summary {
  cursor: pointer;
  color: color-mix(in srgb, var(--focus), black 10%);
  white-space: nowrap;
  font-weight: 700;
  list-style: none;
}

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

.adminRolesDependencyPopover ul {
  z-index: 9;
  text-align: left;
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 4%);
  border-radius: var(--radius);
  background: #fff;
  gap: 4px;
  width: min(300px, 100vw - 40px);
  margin: 0;
  padding: 10px 10px 10px 24px;
  display: grid;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  box-shadow: 0 14px 36px #00000024;
}

.adminRolesInfoPopover {
  display: inline-flex;
  position: relative;
}

.adminRolesInfoPopover summary {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  width: 24px;
  height: 24px;
  color: color-mix(in srgb, var(--focus), black 8%);
  cursor: pointer;
  background: #fff;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  list-style: none;
  display: inline-flex;
}

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

.adminRolesInfoPopover[open] summary {
  border-color: color-mix(in srgb, var(--focus), transparent 35%);
  background: color-mix(in srgb, var(--focus), white 94%);
}

.adminRolesInfoPopoverBody {
  z-index: 8;
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 4%);
  border-radius: calc(var(--radius) + 2px);
  width: min(420px, 100vw - 40px);
  color: var(--ink);
  background: #fff;
  gap: 10px;
  padding: 12px;
  font-weight: 400;
  display: grid;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  box-shadow: 0 16px 42px #00000029;
}

.adminRolesInfoPopoverBody dl, .adminRolesInfoPopoverBody dd {
  margin: 0;
}

.adminRolesInfoPopoverBody dl {
  gap: 9px;
  display: grid;
}

.adminRolesInfoPopoverBody dt {
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 2px;
  font-size: 11px;
  font-weight: 700;
}

.adminRolesInfoPopoverBody dd {
  overflow-wrap: anywhere;
  gap: 5px;
  line-height: 1.4;
  display: grid;
}

.adminRolesCapabilityList, .adminRolesCatalogRows {
  gap: 8px;
  display: grid;
}

.adminRolesCapabilityRow, .adminRolesCatalogRow {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: var(--radius);
  background: #fff;
  padding: 10px 12px;
}

.adminRolesCapabilityRow {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  display: grid;
}

.adminRolesCapabilityRow.isChecked {
  border-color: color-mix(in srgb, var(--focus), transparent 48%);
  background: color-mix(in srgb, var(--focus), white 97%);
}

.adminRolesCapabilityRow input {
  margin-top: 4px;
}

.adminRolesCapabilityRowMain {
  gap: 5px;
  min-width: 0;
  display: grid;
}

.adminRolesCapabilityRowHead {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
  display: flex;
}

.adminRolesCapabilityRowDesc {
  line-height: 1.45;
}

.adminRolesCapabilityMeta {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  display: flex;
}

.adminRiskPill-high {
  border-color: color-mix(in srgb, var(--warning), transparent 45%);
  background: color-mix(in srgb, var(--warning), white 88%);
  color: color-mix(in srgb, var(--warning), black 35%);
}

.adminRiskPill-critical {
  border-color: color-mix(in srgb, var(--danger), transparent 42%);
  background: color-mix(in srgb, var(--danger), white 88%);
  color: color-mix(in srgb, var(--danger), black 28%);
}

.adminRolesCapabilityKey {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 4%);
  background: color-mix(in srgb, var(--bg-2), white 30%);
  min-height: 24px;
  color: var(--muted);
  white-space: nowrap;
  border-radius: 999px;
  align-items: center;
  padding: 3px 8px;
  font-size: 11px;
  line-height: 1;
  display: inline-flex;
}

.adminRolesCatalogToolbarHint {
  margin: 0;
}

.adminRolesReferenceBody {
  gap: 12px;
  display: grid;
}

.adminRolesEmptyEditor {
  text-align: center;
  border: 1px dashed color-mix(in srgb, var(--stroke), transparent 12%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, var(--bg-2), white 20%);
  place-items: center;
  gap: 10px;
  min-height: 220px;
  padding: 24px;
  display: grid;
}

.adminRolesToggle {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg-2), white 18%);
  width: 100%;
  min-height: 44px;
  padding: 11px 12px;
}

.adminRolesToggle input {
  flex: none;
}

.adminRolesToggle span {
  overflow-wrap: anywhere;
  min-width: 0;
  line-height: 1.35;
}

.adminRolesCatalogModuleCard .adminSettingsChecklistTitle {
  margin: 0;
  font-size: 28px;
}

.adminRolesCatalogRowHead .pill, .adminRolesCapabilityRowHead .pill {
  max-width: 100%;
}

.adminRoleFooterActions {
  flex-wrap: wrap;
  gap: 8px;
}

.adminRolesDangerZone {
  border-color: color-mix(in srgb, var(--danger), transparent 58%);
  align-items: center;
  padding: 14px;
}

.adminRolesDangerZone .btnDanger:disabled {
  opacity: .55;
  cursor: not-allowed;
}

.adminRolesReviewOverlay {
  z-index: 80;
  background: #0000006b;
  place-items: center;
  padding: 18px;
  display: grid;
  position: fixed;
  inset: 0;
}

.adminRolesReviewDialog {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 6%);
  border-radius: calc(var(--radius) + 4px);
  background: #fff;
  gap: 14px;
  width: min(760px, 100%);
  max-height: min(780px, 100vh - 36px);
  padding: 18px;
  display: grid;
  overflow: auto;
  box-shadow: 0 24px 80px #0000003d;
}

.adminRolesReviewGrid {
  gap: 12px;
  display: grid;
}

.adminRolesReviewGrid section {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg-2), white 28%);
  min-width: 0;
  padding: 12px;
}

.adminRolesReviewGrid h3 {
  margin-top: 0;
}

.adminRolesStickySaveBar {
  z-index: 12;
  border: 1px solid color-mix(in srgb, var(--focus), transparent 46%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, white, var(--focus) 4%);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin: 16px auto 0;
  padding: 12px 14px;
  display: flex;
  position: sticky;
  bottom: 12px;
  box-shadow: 0 14px 36px #0000001f;
}

.adminRolesStickySaveBar p, .adminRolesStickySaveBar strong {
  margin: 0;
}

.adminRolesStickySaveBar p {
  margin-top: 2px;
}

.adminRolesStickySaveActions {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

@media (min-width: 820px) {
  .adminRolesImpactSummary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .adminRolesSelectedOverview .adminRolesImpactStats {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

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

  .adminRolesList, .adminRolesWorkspaceV2 .adminRolesList, .adminRolesMetaGrid, .adminRolesCatalogGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .adminRolesMatrixToolbarControls {
    display: flex;
  }

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

@media (min-width: 1181px) {
  .adminRolesWorkspaceV2 {
    grid-template-columns: minmax(286px, 328px) minmax(0, 1fr);
    gap: 16px;
  }

  .adminRolesRoleRail {
    top: calc(var(--admin-shell-header-height) + 22px);
    max-height: calc(100vh - var(--admin-shell-header-height) - 44px);
    position: sticky;
    overflow: auto;
  }

  .adminRolesWorkspaceV2 .adminRolesList {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  .adminRolesWorkspaceV2 .adminRolesListItem {
    gap: 7px;
    padding: 11px 12px;
  }

  .adminRolesWorkspaceV2 .adminRolesListItemDesc {
    -webkit-line-clamp: 1;
  }

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

  .adminRolesWorkspaceV2 .adminRolesListItem .adminRolesOverviewPills .pill {
    justify-content: center;
    min-width: 0;
  }

  .adminRolesSelectedImpact .adminRolesImpactStats {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (max-width: 1280px) {
  .adminRolesWorkspaceV2 {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 1040px) {
  .adminRolesWorkspaceV2 {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminRolesRoleRail {
    position: static;
  }

  .adminRolesWorkspaceV2 .adminRolesList, .adminRolesList, .adminRolesMatrixToolbarControls {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 640px) {
  .adminRolesStickySaveBar {
    flex-direction: column;
    align-items: stretch;
    bottom: 8px;
  }

  .adminRolesStickySaveActions {
    width: 100%;
  }

  .adminRolesStickySaveActions .btn {
    flex: auto;
  }
}

.adminAppearanceColorGrid {
  gap: 12px;
  display: grid;
}

.adminAppearanceColorItem {
  gap: 6px;
  display: grid;
}

.adminAppearanceColorControl {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminAppearanceColorSwatch {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 14%);
  border-radius: 4px;
  flex: none;
  width: 28px;
  height: 28px;
}

.adminAppearanceColorHex {
  letter-spacing: .03em;
  width: 130px;
  min-height: 36px;
  padding: 8px 10px;
}

.adminAppearanceColorSelectBtn, .adminAppearanceColorClearBtn {
  min-height: 36px;
  padding: 7px 12px;
  font-size: 14px;
  font-weight: 600;
}

.adminAppearanceColorClearBtn {
  border-color: color-mix(in srgb, var(--stroke), var(--fg) 12%);
  background: color-mix(in srgb, var(--bg), var(--bg-2) 32%);
  min-height: 32px;
  padding: 6px 10px;
  font-size: 12px;
}

.adminAppearanceColorClearBtn:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--stroke), var(--fg) 20%);
  background: color-mix(in srgb, var(--bg), var(--fg) 6%);
}

.adminAppearanceColorPickerInput {
  opacity: 0;
  pointer-events: none;
  width: 1px;
  height: 1px;
  position: absolute;
}

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

.adminSidebarStyleCard {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 4%);
  cursor: pointer;
  background: #fff;
  border-radius: 12px;
  align-content: start;
  gap: 11px;
  min-height: 220px;
  padding: 12px;
  transition: border-color .14s, box-shadow .14s, transform .14s;
  display: grid;
  position: relative;
}

.adminSidebarStyleCard:hover {
  border-color: color-mix(in srgb, var(--focus), var(--stroke) 52%);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--fg), transparent 94%);
}

.adminSidebarStyleCard:focus-within {
  border-color: color-mix(in srgb, var(--focus), var(--stroke) 28%);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), transparent 72%);
  outline: none;
}

.adminSidebarStyleCard.isChecked {
  border-color: color-mix(in srgb, var(--focus), white 12%);
  background: color-mix(in srgb, var(--focus), white 97%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--focus), transparent 34%),
    0 10px 24px color-mix(in srgb, var(--focus), transparent 92%);
}

.adminSidebarStyleCard input[type="radio"] {
  width: 19px;
  height: 19px;
  margin: 0;
  position: absolute;
  top: 14px;
  right: 14px;
}

.adminSidebarStylePreview {
  aspect-ratio: .72;
  background: linear-gradient(180deg, var(--sidebar-preview-bg-subtle), var(--sidebar-preview-bg));
  width: 100%;
  max-width: 108px;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sidebar-preview-border), transparent 68%);
  border-radius: 10px;
  gap: 7px;
  padding: 13px 12px;
  display: grid;
}

.adminSidebarStyleGrid.isFlatSurface .adminSidebarStylePreview {
  background: var(--sidebar-preview-bg);
}

.adminSidebarStylePreviewLogo {
  color: #fff;
  background: color-mix(in srgb, var(--sidebar-preview-border), transparent 64%);
  width: 28px;
  height: 22px;
  font-family: var(--font-mono);
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  font-size: 10px;
  font-weight: 700;
  display: inline-flex;
}

.adminSidebarStylePreview span:not(.adminSidebarStylePreviewLogo) {
  background: #ffffff47;
  border-radius: 999px;
  height: 7px;
}

.adminSidebarStylePreview span:nth-child(2), .adminSidebarStylePreview span:nth-child(5) {
  width: 58%;
}

.adminSidebarStylePreview span:nth-child(3), .adminSidebarStylePreview span:nth-child(6) {
  width: 78%;
}

.adminSidebarStylePreview .isActive {
  background: var(--sidebar-preview-active);
  width: 94%;
  height: 17px;
  box-shadow: inset 3px 0 0 var(--sidebar-preview-border);
}

.adminSidebarStyleText {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.adminSidebarSurfaceGrid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  max-width: 640px;
  display: grid;
}

.adminSidebarSurfaceCard {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 4%);
  cursor: pointer;
  background: #fff;
  border-radius: 12px;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 86px;
  padding: 12px 42px 12px 12px;
  transition: border-color .14s, box-shadow .14s, background-color .14s;
  display: grid;
  position: relative;
}

.adminSidebarSurfaceCard:hover {
  border-color: color-mix(in srgb, var(--focus), var(--stroke) 52%);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--fg), transparent 94%);
}

.adminSidebarSurfaceCard:focus-within {
  border-color: color-mix(in srgb, var(--focus), var(--stroke) 28%);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), transparent 72%);
  outline: none;
}

.adminSidebarSurfaceCard.isChecked {
  border-color: color-mix(in srgb, var(--focus), white 12%);
  background: color-mix(in srgb, var(--focus), white 97%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--focus), transparent 34%),
    0 10px 24px color-mix(in srgb, var(--focus), transparent 92%);
}

.adminSidebarSurfaceCard input[type="radio"] {
  width: 19px;
  height: 19px;
  margin: 0;
  position: absolute;
  top: 14px;
  right: 14px;
}

.adminSidebarSurfacePreview {
  background: linear-gradient(180deg, color-mix(in srgb, var(--sidebar-bg-subtle), white 2%) 0%, var(--sidebar-bg) 42%, color-mix(in srgb, var(--sidebar-bg), black 8%) 100%);
  width: 100%;
  height: 52px;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sidebar-active-border), transparent 70%),
    0 1px 0 #0f172a0a;
  border-radius: 10px;
}

.adminSidebarSurfacePreview.isFlat {
  background: var(--sidebar-bg);
}

.adminSidebarSurfaceText {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.adminSidebarStyleName {
  color: var(--fg);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
}

.adminSidebarStyleHint {
  max-width: 24ch;
  font-size: 12px;
  line-height: 1.4;
}

@media (max-width: 880px) {
  .adminSidebarStyleGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .adminAppearanceColorHex {
    flex: 220px;
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 620px) {
  .adminSidebarStyleGrid, .adminSidebarSurfaceGrid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.adminRoleMatrixToolbar {
  gap: 8px;
  display: grid;
}

.adminRoleTemplateMetaGrid {
  gap: 10px;
  display: grid;
}

.adminRoleFieldError {
  color: var(--danger);
}

.adminRoleSelectionSummary {
  margin-top: 2px;
}

.adminRoleMatrix {
  gap: 10px;
  display: grid;
}

.adminRoleGroup {
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg-2), var(--bg) 24%);
  gap: 8px;
  padding: 10px;
  display: grid;
}

.adminRoleGroupHeader {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminRoleGroupTitle {
  align-items: center;
  gap: 8px;
  font-weight: 700;
  display: inline-flex;
}

.adminRoleGroupActions {
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.adminRoleActionBtn {
  border-radius: 6px;
  min-height: 32px;
  padding: 0 10px;
  font-size: 12px;
}

.adminRoleCapabilityItem {
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  background: var(--bg);
  align-items: flex-start;
  gap: 8px;
  min-height: 40px;
  padding: 8px;
  display: flex;
}

.adminRoleCapabilityMain {
  gap: 2px;
  display: grid;
}

.adminRoleCapabilityMain > span:first-child {
  font-weight: 600;
}

.adminSessionsBody {
  gap: 10px;
  display: grid;
}

.adminSessionsPage {
  gap: 16px;
}

.adminSessionsSummaryLine {
  color: var(--muted);
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  margin: -8px 0 6px;
  font-size: 14px;
  line-height: 1.35;
  display: flex;
}

.adminSessionsSummaryLine > span + span {
  border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  padding-left: 16px;
}

.adminSessionsControlBody {
  gap: 12px;
  display: grid;
}

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

.adminSessionsSummaryCard {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: color-mix(in srgb, var(--bg-2), white 72%);
  border-radius: 8px;
  gap: 4px;
  min-width: 0;
  padding: 11px 12px;
  display: grid;
}

.adminSessionsSummaryCard span {
  min-width: 0;
  color: var(--muted);
  letter-spacing: .08em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  overflow: hidden;
}

.adminSessionsSummaryCard strong {
  color: var(--fg);
  font-size: 24px;
  line-height: 1;
}

.adminSessionsSummaryCardMuted {
  background: var(--bg);
}

.adminSessionsToolbarBody {
  grid-template-columns: minmax(280px, 460px) minmax(240px, 280px) auto minmax(max-content, 1fr) auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin-bottom: 4px;
  display: grid;
}

@media (max-width: 1280px) {
  .adminSessionsToolbarBody {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  }

  .adminSessionsToolbarMetaBody {
    grid-column: 1 / -1;
  }

  .adminSessionsToolbarBody > .btnAction {
    justify-self: end;
  }
}

.adminSessionsSearchField {
  margin-top: 0;
}

.adminSessionsSortWrap {
  min-width: 240px;
  margin-top: 0;
}

.adminSessionsToolbarMetaBody {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding-top: 0;
  display: flex;
}

.adminSessionsActiveOnly {
  align-items: center;
  display: inline-flex;
}

.adminIncidentsPage {
  align-content: start;
  gap: 14px;
}

.adminIncidentsPage > .adminHeaderBody, .adminIncidentsPage > .card, .adminIncidentsWorkspace {
  width: 100%;
  max-width: none;
}

.adminIncidentsCard {
  border-color: color-mix(in srgb, var(--stroke), transparent 8%);
  box-shadow: none;
  background: #fff;
  border-radius: 10px;
}

.adminIncidentsCardBody {
  gap: 16px;
  padding: 20px;
  display: grid;
}

.adminIncidentsSection {
  gap: 14px;
}

.adminIncidentsPage .adminHeaderTitleWrap {
  gap: 5px;
}

.adminIncidentsPage .adminSettingsChecklistTitle {
  font-size: 21px;
  line-height: 1.12;
}

.adminIncidentsPage .adminSettingsFieldHint {
  line-height: 1.45;
}

.adminIncidentsPage .input, .adminIncidentsPage .listboxTrigger {
  border-color: color-mix(in srgb, var(--stroke), transparent 7%);
  background: #fff;
  border-radius: 10px;
  min-height: 48px;
}

.adminIncidentsCreateGrid, .adminIncidentsDetailGrid {
  grid-template-columns: minmax(0, 1fr);
  gap: 13px 14px;
  display: grid;
}

.adminIncidentsCreateGrid > .field, .adminIncidentsDetailGrid > .field, .adminIncidentsCreateButtonRow {
  align-content: start;
  gap: 6px;
  min-width: 0;
  margin-top: 0;
  display: grid;
}

.adminIncidentsFieldWide, .adminIncidentsFieldTitle, .adminIncidentsFieldDate {
  min-width: 0;
}

.adminIncidentsFieldDate .input {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-inline-size: 0;
}

.adminIncidentsCreateGrid .adminSettingsTextarea, .adminIncidentsDetailGrid .adminSettingsTextarea {
  min-height: 78px;
}

.adminIncidentsDetailGrid .adminSettingsSnapshotTextarea {
  min-height: 150px;
}

.adminIncidentsCreateButton {
  min-width: 176px;
}

.adminIncidentsCreateButtonRow {
  align-self: end;
  justify-items: end;
}

.adminIncidentsWorkspace {
  align-items: start;
  gap: 14px;
  min-width: 0;
  display: grid;
}

.adminIncidentsTimelineCard, .adminIncidentsDetailCard {
  min-width: 0;
}

.adminIncidentsTimelineSection {
  gap: 14px;
}

.adminIncidentsToolbar {
  grid-template-columns: minmax(0, 1fr) auto;
  justify-content: space-between;
  align-items: start;
  gap: 12px;
  display: grid;
}

.adminIncidentsStateText {
  margin: 0;
  padding: 12px 0;
}

.adminIncidentsEmptyState {
  border: 1px dashed color-mix(in srgb, var(--stroke), transparent 4%);
  background: #fff;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  gap: 22px;
  min-height: 108px;
  padding: 24px 22px;
  display: flex;
}

.adminIncidentsEmptyIcon {
  color: color-mix(in srgb, var(--fg), white 28%);
  flex: none;
  display: inline-flex;
  position: relative;
}

.adminIncidentsEmptyIcon:after {
  content: "";
  background: var(--focus);
  width: 4px;
  height: 9px;
  box-shadow: -12px 5px 0 -1px var(--focus),
    12px 5px 0 -1px var(--focus);
  border-radius: 999px;
  position: absolute;
  top: -10px;
  left: calc(50% - 2px);
}

.adminIncidentsEmptyCopy {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.adminIncidentsEmptyCopy > p {
  color: color-mix(in srgb, var(--fg), var(--muted) 24%);
  margin: 0;
  font-size: 17px;
  line-height: 1.25;
}

.adminIncidentsEmptyCopy > span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.adminIncidentsList {
  min-height: 0;
  max-height: min(560px, calc(100vh - var(--admin-shell-header-height) - 260px));
  border-color: color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: 10px;
}

.adminIncidentsHistoryItem {
  gap: 10px;
  padding: 14px 16px;
}

.adminIncidentsHistoryItem.isSelected {
  background: color-mix(in srgb, var(--focus), white 96%);
}

.adminIncidentsHistoryTop {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: start;
  gap: 10px;
  display: flex;
}

.adminIncidentsStatusPill, .adminIncidentsSeverityPill {
  min-height: 28px;
  padding: 5px 9px;
  font-size: 12px;
  font-weight: 800;
}

.adminIncidentsStatusPill.isOPEN, .adminIncidentsStatusPill.isINVESTIGATING {
  border-color: color-mix(in srgb, var(--focus), transparent 56%);
  background: color-mix(in srgb, var(--focus), white 94%);
  color: color-mix(in srgb, var(--focus), black 18%);
}

.adminIncidentsStatusPill.isMITIGATED {
  border-color: color-mix(in srgb, var(--warn), transparent 50%);
  background: color-mix(in srgb, var(--warn), white 91%);
  color: color-mix(in srgb, var(--warn), black 42%);
}

.adminIncidentsStatusPill.isRESOLVED {
  border-color: color-mix(in srgb, var(--ok), transparent 54%);
  background: color-mix(in srgb, var(--ok), white 93%);
  color: color-mix(in srgb, var(--ok), black 32%);
}

.adminIncidentsSeverityPill.isINFO {
  border-color: color-mix(in srgb, var(--stroke), transparent 2%);
  background: color-mix(in srgb, var(--bg-2), var(--bg) 10%);
  color: var(--muted);
}

.adminIncidentsSeverityPill.isWARNING {
  border-color: color-mix(in srgb, var(--warn), transparent 50%);
  background: color-mix(in srgb, var(--warn), white 92%);
  color: color-mix(in srgb, var(--warn), black 44%);
}

.adminIncidentsSeverityPill.isCRITICAL {
  border-color: color-mix(in srgb, var(--danger), transparent 48%);
  background: color-mix(in srgb, var(--danger), white 92%);
  color: color-mix(in srgb, var(--danger), black 22%);
}

.adminIncidentsItemTitle {
  overflow-wrap: anywhere;
  font-size: 17px;
}

.adminIncidentsOpenButton {
  min-height: 38px;
  padding: 8px 11px;
  font-size: 13px;
}

.adminIncidentsInfoGrid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.adminIncidentsTimelineItem strong, .adminIncidentsTimelineItem p {
  margin: 0;
}

@media (min-width: 380px) and (max-width: 759px) {
  .adminIncidentsCreateGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .adminIncidentsFieldTitle, .adminIncidentsFieldComponent, .adminIncidentsFieldSourceId, .adminIncidentsFieldSourceUrl, .adminIncidentsFieldDate, .adminIncidentsFieldRemediation, .adminIncidentsCreateButtonRow {
    grid-column: 1 / -1;
  }

  .adminIncidentsCreateButtonRow {
    justify-items: stretch;
  }
}

@media (min-width: 760px) {
  .adminIncidentsCreateGrid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: end;
  }

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

  .adminIncidentsFieldTitle {
    grid-column: span 6;
  }

  .adminIncidentsFieldComponent, .adminIncidentsFieldSeverity, .adminIncidentsFieldSourceType, .adminIncidentsFieldSourceId, .adminIncidentsFieldSourceUrl, .adminIncidentsFieldDate {
    grid-column: span 3;
  }

  .adminIncidentsFieldRemediation {
    grid-column: span 9;
  }

  .adminIncidentsCreateButtonRow {
    grid-column: span 3;
  }

  .adminIncidentsDetailGrid .adminIncidentsFieldWide {
    grid-column: 1 / -1;
  }
}

@media (min-width: 760px) and (max-width: 1099px) {
  .adminIncidentsCreateGrid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .adminIncidentsFieldTitle {
    grid-column: span 4;
  }

  .adminIncidentsFieldComponent, .adminIncidentsFieldSeverity, .adminIncidentsFieldSourceType, .adminIncidentsFieldSourceId {
    grid-column: span 2;
  }

  .adminIncidentsFieldSourceUrl, .adminIncidentsFieldDate {
    grid-column: span 3;
  }

  .adminIncidentsFieldRemediation {
    grid-column: span 4;
  }

  .adminIncidentsCreateButtonRow {
    grid-column: span 2;
  }
}

@media (min-width: 1100px) {
  .adminIncidentsCreateGrid .adminSettingsTextarea {
    min-height: 64px;
  }
}

@media (min-width: 1200px) {
  .adminIncidentsWorkspace:has(.adminIncidentsDetailCard) {
    grid-template-columns: minmax(0, 1fr) minmax(360px, .68fr);
  }
}

@media (max-width: 640px) {
  .adminDataQualityGroupList {
    max-height: min(720px, calc(100dvh - var(--admin-shell-header-height) - 132px));
  }

  .adminDataQualityPage {
    gap: 12px;
  }

  .adminDataQualityPage .adminHeaderBody {
    align-items: start;
    gap: 14px;
    display: grid;
  }

  .adminDataQualityPage .adminPageTitle {
    font-size: 32px;
    line-height: 1.08;
  }

  .adminDataQualityPage .adminSettingsIntro {
    max-width: none;
    font-size: 20px;
    line-height: 1.45;
  }

  .adminDataQualityRefreshButton {
    border-radius: 10px;
    width: max-content;
    min-height: 52px;
    padding: 12px 20px;
    font-size: 19px;
  }

  .adminDataQualitySummaryBody {
    gap: 14px;
    padding: 14px;
  }

  .adminDataQualityMetricGrid {
    gap: 10px;
  }

  .adminDataQualityMetric {
    align-items: center;
    gap: 8px;
    min-height: 74px;
    padding: 10px;
  }

  .adminDataQualityMetricIcon {
    width: 26px;
    height: 26px;
  }

  .adminDataQualityMetricLabel {
    font-size: 14px;
  }

  .adminDataQualityMetric.isGenerated .adminDataQualityMetricText {
    display: contents;
  }

  .adminDataQualityMetric.isGenerated .adminDataQualityMetricLabel {
    align-self: center;
  }

  .adminDataQualityMetric strong {
    text-overflow: clip;
    white-space: normal;
    font-size: 19px;
    line-height: 1.25;
    overflow: visible;
  }

  .adminDataQualityMetric.isGenerated strong {
    overflow-wrap: normal;
    word-break: normal;
    grid-column: 1 / -1;
    font-size: 18px;
  }

  .adminDataQualityGroupBody {
    gap: 16px;
    padding: 20px 22px;
  }

  .adminDataQualityGroupActions {
    grid-template-columns: minmax(0, auto) minmax(0, 1fr);
    align-items: center;
    width: 100%;
    display: grid;
  }

  .adminDataQualityGroupActions .btnAction {
    border-radius: 10px;
    justify-self: end;
    min-height: 52px;
    padding: 12px 18px;
    font-size: 18px;
  }

  .adminDataQualityMetaLine {
    gap: 8px 12px;
    font-size: 16px;
  }

  .adminDataQualityIssueList {
    max-height: min(370px, 52vh);
  }

  .adminDataQualityIssueRow {
    gap: 12px;
    padding: 14px 16px 14px 18px;
  }

  .adminDataQualityIssueMetaLine {
    font-size: 15px;
  }

  .adminDataQualityIssueText {
    gap: 6px;
  }

  .adminDataQualityIssueText strong {
    font-size: 17px;
  }

  .adminDataQualityIssueText p {
    font-size: 18px;
    line-height: 1.35;
  }

  .adminDataQualityIssueAction {
    white-space: normal;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    width: 100%;
    font-size: 15px;
  }

  .adminDataQualityIssueOpenButton {
    min-height: 48px;
    padding: 10px 16px;
    font-size: 18px;
  }

  .adminIncidentsPage {
    gap: 12px;
    padding-inline: 8px;
  }

  .adminIncidentsPage .adminSettingsIntro {
    display: none;
  }

  .adminIncidentsPage > .card {
    max-width: 100%;
  }

  .adminIncidentsCardBody {
    padding: 18px;
  }

  .adminIncidentsPage .adminSettingsChecklistTitle {
    font-size: 20px;
  }

  .adminIncidentsToolbar {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "title refresh"
                         "hint hint";
    gap: 6px 8px;
  }

  .adminIncidentsTimelineCard .adminHeaderTitleWrap {
    display: contents;
  }

  .adminIncidentsTimelineCard .adminSettingsChecklistTitle {
    white-space: nowrap;
    grid-area: title;
    font-size: 18.5px;
  }

  .adminIncidentsTimelineCard .adminSettingsFieldHint {
    grid-area: hint;
  }

  .adminIncidentsEmptyState {
    text-align: center;
    flex-direction: column;
    gap: 12px;
    min-height: 174px;
    padding: 26px 18px;
  }

  .adminIncidentsHistoryTop {
    align-items: stretch;
  }

  .adminIncidentsHistoryTop .btn {
    width: 100%;
  }
}

.adminSessionsActiveOnly .adminBooleanFieldRow {
  min-height: 34px;
  padding: 4px 2px;
}

.adminSessionsToolbarMetaActions {
  align-items: center;
  gap: 10px;
  display: inline-flex;
}

.adminSessionsResultCount {
  white-space: nowrap;
  justify-self: end;
  margin: 0;
  font-size: 12px;
  line-height: 1.3;
}

.adminSessionsToolbarBody > .btnAction {
  justify-content: center;
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.adminSessionsStatusPill {
  min-height: 26px;
}

.adminSessionsBulkBar {
  width: 100%;
}

.adminSessionsWorkspace {
  grid-template-columns: minmax(0, 1fr) 340px;
  align-items: start;
  gap: 16px;
  width: 100%;
  min-width: 0;
  display: grid;
}

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

.adminSessionsTableSurface {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: var(--radius);
  background: #fff;
  min-width: 0;
  overflow: hidden;
}

.adminSessionsTableWrap {
  max-width: 100%;
  max-height: max(560px, calc(100vh - var(--admin-shell-header-height) - 248px));
  scrollbar-width: none;
  background: #fff;
  border: 0;
  border-radius: 0;
  display: block;
  overflow: auto;
}

.adminSessionsTableWrap::-webkit-scrollbar {
  display: none;
}

.adminSessionsTable {
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  min-width: 700px;
}

.adminSessionsColSelect {
  width: 38px;
}

.adminSessionsColUser {
  width: 27%;
}

.adminSessionsColSession {
  width: 39%;
}

.adminSessionsColActivity {
  width: 20%;
}

.adminSessionsColStatus {
  width: 14%;
}

.adminSessionsTable thead th {
  z-index: 2;
  text-align: left;
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: color-mix(in srgb, var(--bg), white 8%);
  color: var(--muted);
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 12px 14px;
  font-size: 12px;
  font-weight: 820;
  position: sticky;
  top: 0;
}

.adminSessionsTable tbody td {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 15%);
  vertical-align: middle;
  padding: 11px 14px;
  font-size: 13px;
  line-height: 1.3;
}

.adminSessionsTable tbody tr {
  cursor: pointer;
}

.adminSessionsTable tbody tr:hover {
  background: color-mix(in srgb, var(--focus), white 97%);
}

.adminSessionsTable tbody tr.isSelected {
  background: color-mix(in srgb, var(--focus), white 94%);
  box-shadow: inset 3px 0 0 var(--focus);
}

.adminSessionsTableText {
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--fg);
  display: block;
  overflow: hidden;
}

.adminSessionsTableStack, .adminSessionsTimeline {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.adminSessionsTableSubtext {
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  line-height: 1.25;
  display: block;
  overflow: hidden;
}

.adminSessionsUserRow {
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
  position: relative;
}

.adminSessionsAvatar {
  flex: none;
}

.adminSessionsAvatarCurrent {
  --cm-user-avatar-ring-width: 2px;
  --cm-user-avatar-ring-color: color-mix(in srgb, var(--success), transparent 44%);
}

.adminSessionsActiveDot {
  background: var(--success);
  border: 2px solid #fff;
  border-radius: 999px;
  width: 9px;
  height: 9px;
  position: absolute;
  bottom: -1px;
  left: 25px;
}

.adminSessionsTimelineRow {
  grid-template-columns: minmax(52px, auto) minmax(0, 1fr);
  align-items: baseline;
  gap: 8px;
  min-width: 0;
  display: grid;
}

.adminSessionsTimelineLabel {
  color: var(--muted);
  letter-spacing: 0;
  white-space: nowrap;
  font-size: 11px;
  font-weight: 700;
}

.adminSessionsList {
  gap: 8px;
  min-width: 0;
  display: none;
}

.adminSessionsListTop {
  justify-content: flex-start;
  padding: 0 2px 4px;
  display: flex;
}

.adminSessionsSelectAll {
  min-height: 36px;
  color: var(--fg);
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
}

.adminSessionsListItem {
  border: 1px solid var(--stroke);
  background: var(--bg);
  border-radius: 8px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  display: grid;
}

.adminSessionsListItem:hover {
  background: color-mix(in srgb, var(--focus), white 97%);
}

.adminSessionsListItem.isSelected {
  border-color: color-mix(in srgb, var(--focus), transparent 24%);
  background: color-mix(in srgb, var(--focus), white 95%);
  box-shadow: inset 3px 0 0 var(--focus);
}

.adminSessionsSelectSlot {
  align-self: start;
  min-height: 30px;
  padding-top: 4px;
}

.adminSessionsListMain {
  gap: 10px;
  min-width: 0;
  display: grid;
}

.adminSessionsListHeader {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
  display: flex;
}

.adminSessionsUserCellInner {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminSessionsUserPrimary {
  font-size: 14px;
  font-weight: 700;
}

.adminSessionsUserSecondary {
  color: var(--muted);
  font-size: 12px;
}

.adminSessionsTableStatusStack {
  justify-items: start;
  gap: 5px;
  min-width: 0;
  display: grid;
}

.adminSessionsStatePills {
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 6px;
  display: flex;
}

.adminSessionsCurrentPill {
  min-height: 26px;
  color: color-mix(in srgb, var(--success), black 24%);
  background: color-mix(in srgb, var(--success), white 86%);
  border-color: color-mix(in srgb, var(--success), transparent 34%);
  font-weight: 700;
}

.adminSessionsMetaGrid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 14px;
  min-width: 0;
  margin: 0;
  display: grid;
}

.adminSessionsMetaItem {
  gap: 3px;
  min-width: 0;
  margin: 0;
  display: grid;
}

.adminSessionsMetaItem dt {
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}

.adminSessionsMetaItem dd {
  min-width: 0;
  color: color-mix(in srgb, var(--fg), var(--muted) 18%);
  margin: 0;
  font-size: 13px;
  line-height: 1.3;
}

.adminSessionsMetaValue {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.adminSessionsActionCell {
  text-align: right;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  min-width: 54px;
  display: inline-flex;
}

.adminSessionsDateMeta {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  font-size: 13px;
  line-height: 1.25;
}

.adminSessionsRevokeBtn, .adminSessionsInspectBtn {
  border-radius: 8px;
  min-height: 34px;
  padding: 0 10px;
  font-size: 13px;
}

.adminSessionsStatusText {
  color: color-mix(in srgb, var(--fg), var(--muted) 18%);
  white-space: nowrap;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 720;
  line-height: 1.2;
  display: inline-flex;
}

.adminSessionsStatusDot {
  background: var(--success);
  border-radius: 999px;
  width: 7px;
  height: 7px;
}

.adminSessionsInspector {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: var(--radius);
  background: #fff;
  gap: 14px;
  min-width: 0;
  padding: 16px;
  display: grid;
}

.adminSessionsInspectorHeader {
  color: var(--muted);
  letter-spacing: .06em;
  text-transform: uppercase;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  font-weight: 820;
  line-height: 1.2;
  display: flex;
}

.adminSessionsInspectorClose {
  width: 30px;
  height: 30px;
  color: var(--muted);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  font-size: 22px;
  line-height: 1;
  display: inline-flex;
}

.adminSessionsInspectorClose:hover {
  background: color-mix(in srgb, var(--bg-2), var(--fg) 3%);
  color: var(--fg);
}

.adminSessionsInspectorCurrent {
  justify-self: start;
  min-height: 22px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 760;
  line-height: 1.1;
}

.adminSessionsInspectorIdentity {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 2px 0 8px;
  display: flex;
}

.adminSessionsInspectorIdentity .adminSessionsAvatar {
  flex: none;
}

.adminSessionsInspectorIdentity > div {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminSessionsInspectorIdentity strong {
  color: var(--fg);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 15px;
  line-height: 1.2;
  overflow: hidden;
}

.adminSessionsInspectorIdentity > div span {
  color: var(--muted);
  font-size: 12px;
}

.adminSessionsInspectorMeta {
  margin: 0;
  display: grid;
}

.adminSessionsInspectorMetaRow {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  grid-template-columns: minmax(100px, .65fr) minmax(0, 1fr);
  align-items: baseline;
  gap: 12px;
  min-width: 0;
  padding: 12px 0;
  display: grid;
}

.adminSessionsInspectorMetaRow dt, .adminSessionsInspectorMetaRow dd {
  min-width: 0;
  margin: 0;
}

.adminSessionsInspectorMetaRow dt {
  color: var(--muted);
  font-size: 12px;
  font-weight: 780;
}

.adminSessionsInspectorMetaRow dd {
  color: var(--fg);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  line-height: 1.3;
  overflow: hidden;
}

.adminSessionsInspectorRevoke {
  width: 100%;
  min-height: 42px;
  color: var(--danger);
  border-color: color-mix(in srgb, var(--danger), white 28%);
  background: #fff;
  justify-content: center;
  align-items: center;
  gap: 7px;
  display: inline-flex;
}

.adminSessionsInspectorRevoke:not(:disabled):hover {
  color: #fff;
  background: var(--danger);
  border-color: var(--danger);
}

.adminSessionsInspectorEmpty {
  text-align: center;
  align-content: center;
  gap: 6px;
  min-height: 180px;
  display: grid;
}

.adminSessionsInspectorEmpty strong, .adminSessionsInspectorEmpty p {
  margin: 0;
}

.adminSessionsInspectorMobile {
  display: none;
}

@media (max-width: 1180px) {
  .adminSessionsWorkspace {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminSessionsInspectorDesktop {
    display: none;
  }

  .adminSessionsInspectorMobile {
    display: grid;
  }
}

.adminDirectoryVisibleCount {
  margin: 0;
  font-size: 14px;
  line-height: 1.25;
}

.adminDirectoryListMeta {
  justify-content: flex-end;
  margin-top: 6px;
  padding-right: 10px;
  display: flex;
}

.adminListCardBody .adminListTableWrap, .adminListTableSurface .adminListTableWrap {
  max-width: 100%;
  overflow: auto hidden;
}

.adminListCardBody .adminListTable, .adminListTableSurface .adminListTable {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
}

.adminListCardBody .adminListTable thead th, .adminListTableSurface .adminListTable thead th {
  text-align: left;
  letter-spacing: .01em;
  border-bottom: 1px solid var(--stroke);
  color: color-mix(in srgb, var(--fg), black 8%);
  padding: 12px;
  font-size: 16px;
  font-weight: 700;
}

.adminListSelectHeader, .adminListSelectCell {
  text-align: center;
  width: 44px;
  padding-left: 8px !important;
  padding-right: 8px !important;
}

.adminListSelectHeader .adminBulkCheckbox, .adminListSelectCell .adminBulkCheckbox {
  justify-content: center;
  margin-right: 0;
}

.adminListCardBody .adminListTable tbody td, .adminListTableSurface .adminListTable tbody td {
  border-bottom: 1px solid var(--stroke);
  vertical-align: middle;
  padding: 14px 12px;
  font-size: 14px;
  line-height: 1.3;
}

.adminObraAddressCell {
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 360px;
  overflow: hidden;
}

.adminListCardBody .adminListTable td:nth-last-child(2) {
  font-size: 13px;
  line-height: 1.25;
}

.adminListDateCell {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  min-width: 112px;
}

.adminListDateTimeCell {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  min-width: 154px;
}

.adminListCardBody .adminListRow, .adminListTableSurface .adminListRow {
  transition: background-color .14s;
}

.adminListCardBody .adminListRow:hover, .adminListTableSurface .adminListRow:hover {
  background: color-mix(in srgb, var(--focus), white 96%);
}

.adminListCardBody .adminListRow:focus-visible, .adminListTableSurface .adminListRow:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 32%);
  outline-offset: -2px;
}

.adminFinanceInboxPage, .adminFinanceIntakeBody {
  gap: 14px;
  display: grid;
}

.adminFinanceIntakeBodyFlat {
  padding: 0;
}

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

.adminFinanceModeButton {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, white, var(--bg) 6%);
  min-height: 92px;
  color: inherit;
  text-align: left;
  cursor: pointer;
  gap: 5px;
  padding: 14px 16px;
  transition: border-color .14s, background-color .14s, transform .14s, box-shadow .14s;
  display: grid;
}

.adminFinanceModeButton:hover {
  border-color: color-mix(in srgb, var(--focus), transparent 48%);
  background: color-mix(in srgb, var(--focus), white 97%);
  transform: translateY(-1px);
}

.adminFinanceModeButton:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 24%);
  outline-offset: 2px;
}

.adminFinanceModeButtonActive {
  border-color: color-mix(in srgb, var(--focus), transparent 8%);
  background: color-mix(in srgb, var(--focus), white 95%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--focus), transparent 28%),
    0 8px 18px #28489212;
}

.adminFinanceModeButtonTitle {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
}

.adminFinanceModeButtonHint {
  color: var(--text-muted);
  font-size: 13px;
  line-height: 1.35;
}

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

.adminFinancePanel {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 4%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, white, var(--bg) 8%);
  padding: 18px;
}

.adminFinancePanelRefresh {
  gap: 16px;
}

.adminFinancePanelHead {
  gap: 4px;
  display: grid;
}

.adminFinancePanelTitle {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.15;
}

.adminFinancePanelActions {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminFinanceUploadStack {
  gap: 12px;
  display: grid;
}

.adminFinanceHiddenFileInput {
  display: none;
}

.adminFinanceDropzone {
  border: 1px dashed color-mix(in srgb, var(--focus), transparent 36%);
  border-radius: calc(var(--radius) + 4px);
  background: linear-gradient(180deg, color-mix(in srgb, var(--focus), white 98%), color-mix(in srgb, white, var(--bg) 8%));
  cursor: pointer;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 148px;
  padding: 18px;
  transition: border-color .14s, background-color .14s, box-shadow .14s, transform .14s;
  display: grid;
}

.adminFinanceDropzone:hover, .adminFinanceDropzone.isDragging {
  border-color: color-mix(in srgb, var(--focus), transparent 14%);
  background: linear-gradient(180deg, color-mix(in srgb, var(--focus), white 95%), color-mix(in srgb, white, var(--bg) 4%));
  transform: translateY(-1px);
  box-shadow: 0 10px 24px #28489214;
}

.adminFinanceDropzone:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus), transparent 72%),
    0 10px 24px #28489214;
  outline: none;
}

.adminFinanceDropzoneIcon {
  background: color-mix(in srgb, var(--focus), white 87%);
  width: 48px;
  height: 48px;
  color: color-mix(in srgb, var(--focus), black 12%);
  font-family: var(--font-mono);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  font-size: 32px;
  font-weight: 600;
  line-height: 1;
  display: inline-flex;
}

.adminFinanceDropzoneText {
  gap: 5px;
  min-width: 0;
  display: grid;
}

.adminFinanceDropzoneFormats {
  font-family: var(--font-mono);
  letter-spacing: .02em;
  font-size: 12px;
}

.adminFinanceUploadQueue {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, white, var(--bg) 10%);
  gap: 10px;
  padding: 12px 14px;
  display: grid;
}

.adminFinanceUploadQueueHead {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.adminFinanceUploadQueueList {
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.adminFinanceUploadQueueItem {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-radius: var(--radius);
  background: color-mix(in srgb, white, var(--bg) 6%);
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  display: flex;
  position: relative;
}

.adminFinanceUploadQueueMeta {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminFinanceUploadQueueMeta strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.adminFinanceUploadQueueClearBtn {
  min-width: auto;
  padding-inline: 14px;
}

.adminFinanceUploadQueueRemoveBtn {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 6%);
  width: 20px;
  height: 20px;
  color: var(--text);
  background: #fff;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
  position: absolute;
  top: 10px;
  right: 10px;
}

.adminFinanceUploadQueueRemoveBtn:hover, .adminFinanceUploadQueueRemoveBtn:focus-visible {
  border-color: color-mix(in srgb, var(--focus), transparent 48%);
  background: color-mix(in srgb, var(--bg-2), white 30%);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), transparent 82%);
}

.adminFinanceUploadQueueEmpty {
  margin: 0;
  padding: 0 2px;
}

.adminFinanceManualFamilyField {
  border: 0;
  margin: 0;
  padding: 0;
}

.adminFinanceManualDateField {
  max-width: min(100%, 280px);
}

.adminFinanceUploadMetaGrid, .adminFinanceUploadOptionalGrid {
  gap: 12px;
  display: grid;
}

.adminFinanceUploadFooter {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  display: flex;
}

.adminFinanceUploadBackendField {
  flex: 560px;
  min-width: 0;
}

.adminFinanceUploadActions {
  flex: none;
  justify-content: flex-end;
  align-self: end;
}

.adminFinanceUploadSubmitRow {
  justify-content: flex-end;
  margin-top: 16px;
}

.adminFinanceUploadOptionalDetails {
  padding-top: 2px;
}

.adminFinanceUploadOptionalDetails[open] .adminFinanceUploadOptionalGrid {
  margin-top: 10px;
}

.adminFinanceTextarea {
  min-height: 96px;
}

.adminFinanceTextareaMono {
  font-family: var(--font-mono);
  font-size: 12px;
}

.adminFinanceInboxResultsBody {
  gap: 12px;
}

.adminFinanceInboxPager {
  overflow-anchor: none;
  padding-top: 8px;
}

.adminFinanceInboxResultsHead {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.adminFinanceInboxHeaderActions {
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminFinanceInboxRefreshBtn {
  width: 42px;
  min-width: 42px;
  height: 42px;
  color: var(--text);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: inline-flex;
}

.adminFinanceInboxRefreshBtn:hover:not(:disabled) {
  background: color-mix(in srgb, var(--text), transparent 94%);
}

.adminFinanceInboxRefreshBtn:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
}

.adminFinanceInboxRefreshBtn:disabled {
  cursor: default;
  opacity: .72;
}

.adminFinanceInboxTableActionHead {
  text-align: right;
  vertical-align: middle;
}

.adminFinanceInboxTableActionHeadInner {
  inset-block: 0;
  pointer-events: none;
  justify-content: flex-end;
  align-items: center;
  display: flex;
  position: absolute;
  right: 12px;
}

.adminFinanceInboxTableActionHead .adminFinanceInboxRefreshBtn {
  pointer-events: auto;
  border-radius: 8px;
  width: 28px;
  min-width: 28px;
  height: 28px;
}

.adminFinanceInboxTableActionHead .adminFinanceInboxRefreshIcon {
  width: 16px;
  height: 16px;
}

.adminFinanceInboxRefreshIcon {
  object-fit: contain;
  width: 18px;
  height: 18px;
  display: block;
}

.adminFinanceInboxRefreshIconSpinning {
  animation: .9s linear infinite adminFinanceInboxRefreshSpin;
}

@keyframes adminFinanceInboxRefreshSpin {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

.adminFinanceInboxLauncher {
  gap: 12px;
  display: grid;
}

.adminFinanceInboxLauncherActions {
  justify-content: flex-start;
}

.adminFinanceLauncherActionActive {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--focus), transparent 8%);
}

.adminFinanceIntakePanel {
  gap: 12px;
  display: grid;
}

.adminFinancePanelFull {
  grid-column: 1 / -1;
}

.adminFinanceNotice {
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  margin: 0;
  padding: 10px 12px;
}

.adminFinanceNoticeSuccess {
  border-color: color-mix(in srgb, var(--success), transparent 34%);
  background: color-mix(in srgb, var(--success), white 92%);
}

.adminFinanceNoticeWarn {
  background: #fcf8f1;
  border-color: #cc8a1194;
}

.adminFinanceNoticeError {
  border-color: color-mix(in srgb, var(--danger), transparent 34%);
  background: color-mix(in srgb, var(--danger), white 94%);
}

.adminFinanceInboxTable {
  table-layout: fixed;
  min-width: 1180px;
}

.adminFinanceInboxColDate {
  width: 164px;
}

.adminFinanceInboxColInfo {
  width: 290px;
}

.adminFinanceInboxColSupplier {
  width: 220px;
}

.adminFinanceInboxColTotal {
  width: 134px;
}

.adminFinanceInboxColStatus {
  width: 126px;
}

.adminFinanceInboxColTags {
  width: 190px;
}

.adminFinanceInboxColActions {
  width: 106px;
}

.adminFinanceInboxTable td {
  vertical-align: top;
  min-width: 0;
  overflow: visible;
}

.adminFinanceInboxTable th:last-child, .adminFinanceInboxTable td.adminFinanceActionsCell {
  z-index: 2;
  background: #fff;
  position: sticky;
  right: 0;
}

.adminFinanceInboxTable th:last-child {
  z-index: 3;
  background: #f8fafc;
}

.adminListTableSurface .adminFinanceInboxTable .adminListRow:hover, .adminListTableSurface .adminFinanceInboxTable .adminListRow:focus-within {
  background: none;
}

.adminListTableSurface .adminFinanceInboxTable .adminListRow:hover > td, .adminListTableSurface .adminFinanceInboxTable .adminListRow:focus-within > td {
  background: color-mix(in srgb, var(--focus), white 96%);
}

:is(.adminFinanceInboxTable td.adminFinanceActionsCell:has(.adminUsersMenu), .adminFinanceInboxTable td.adminFinanceActionsCell:has(.adminUsersMenuFloating)) {
  z-index: 8;
}

.adminFinanceInfoCell {
  min-width: 280px;
  max-width: 0;
}

.adminFinanceInfoCell strong, .adminFinanceInfoCell .muted {
  overflow-wrap: anywhere;
}

.adminFinanceInboxDateCell strong, .adminFinanceInboxDateCell .muted {
  white-space: nowrap;
}

.adminFinanceStack {
  gap: 2px;
  display: grid;
}

.adminFinanceInboxStatusCell .adminFinanceStack, .adminFinanceInboxTypeCell .adminFinanceStack {
  gap: 6px;
}

.adminFinanceInboxTypePills {
  white-space: nowrap;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  display: flex;
}

.adminFinanceInboxDocumentLine {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px;
  display: inline-flex;
}

.adminFinanceInboxDocumentLink {
  color: var(--text);
  text-underline-offset: .14em;
  text-decoration: underline;
  text-decoration-thickness: 1px;
}

.adminFinanceInboxDocumentLink:hover {
  color: var(--focus);
}

.adminFinanceInboxSupplierCell strong, .adminFinanceInboxTotalCell strong {
  display: block;
}

.adminFinanceInboxTotalCell strong {
  white-space: nowrap;
}

.adminFinanceProcessingPill {
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.adminFinanceProcessingDot {
  border: 2px solid color-mix(in srgb, var(--focus), white 45%);
  border-right-color: #0000;
  border-radius: 999px;
  flex: none;
  width: 10px;
  height: 10px;
  animation: .9s linear infinite adminFinanceProcessingSpin;
}

.adminFinanceFamilyPillSite {
  border-color: color-mix(in srgb, var(--focus), white 52%);
  color: color-mix(in srgb, var(--focus), black 22%);
  background: color-mix(in srgb, var(--focus), white 94%);
}

.adminFinanceFamilyPillVehicle {
  border-color: color-mix(in srgb, var(--accent), white 48%);
  color: color-mix(in srgb, var(--accent), black 18%);
  background: color-mix(in srgb, var(--accent), white 95%);
}

.adminFinanceFamilyPillNeutral {
  border-color: color-mix(in srgb, var(--stroke), white 8%);
  color: color-mix(in srgb, var(--muted), var(--fg) 18%);
  background: color-mix(in srgb, var(--bg-2), var(--fg) 3%);
}

.adminFinanceFamilyPillUnknown {
  border-color: color-mix(in srgb, var(--danger), white 58%);
  color: color-mix(in srgb, var(--danger), black 18%);
  background: color-mix(in srgb, var(--danger), white 95%);
}

.adminFinanceParserPill {
  border-color: color-mix(in srgb, var(--stroke), white 10%);
  color: color-mix(in srgb, var(--muted), var(--fg) 20%);
  background: color-mix(in srgb, var(--bg-2), var(--bg) 6%);
}

.adminFinanceMailboxDatasetPage {
  gap: 14px;
  display: grid;
}

.adminFinanceMailboxDatasetShell, .adminFinanceMailboxDatasetCardBody, .adminFinanceMailboxDatasetDatasetBody {
  gap: 12px;
  display: grid;
}

.adminFinanceMailboxDatasetShell > .card, .adminFinanceMailboxDatasetControlGrid > .card, .adminFinanceMailboxDatasetControlColumn > .card {
  border-color: color-mix(in srgb, var(--stroke), transparent 8%);
  box-shadow: none;
}

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

.adminFinanceMailboxDatasetWorkflow > li {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  border-radius: calc(var(--radius) - 2px);
  background: color-mix(in srgb, var(--bg-2), white 44%);
  min-height: 40px;
  color: color-mix(in srgb, var(--muted), var(--fg) 18%);
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  font-size: 13px;
  font-weight: 700;
  display: flex;
}

.adminFinanceMailboxDatasetWorkflow strong {
  background: color-mix(in srgb, var(--focus), white 88%);
  width: 22px;
  height: 22px;
  color: color-mix(in srgb, var(--focus), black 24%);
  font-family: var(--font-mono);
  border-radius: 999px;
  place-items: center;
  font-size: 11px;
  line-height: 1;
  display: inline-grid;
}

.adminFinanceMailboxDatasetControlColumn {
  gap: 12px;
  min-width: 0;
  display: grid;
}

@media (min-width: 1280px) {
  .adminFinanceMailboxDatasetControlColumn {
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    align-items: start;
  }

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

.adminFinanceMailboxDatasetGrid {
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
  align-items: start;
  gap: 14px;
  display: grid;
}

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

.adminFinanceMailboxDatasetStats > div, .adminFinanceMailboxDatasetSelectionBox, .adminFinanceMailboxDatasetPlanRows > div {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: calc(var(--radius) - 2px);
  background: color-mix(in srgb, var(--bg-2), white 34%);
  gap: 3px;
  min-width: 0;
  padding: 9px 11px;
  display: grid;
}

.adminFinanceMailboxDatasetStats span, .adminFinanceMailboxDatasetSelectionBox .muted, .adminFinanceMailboxDatasetPlanRows .muted {
  overflow-wrap: anywhere;
  min-width: 0;
}

.adminFinanceMailboxDatasetStats span {
  color: var(--muted);
  font-size: 12px;
}

.adminFinanceMailboxDatasetStats strong {
  font-family: var(--font-condensed);
  overflow-wrap: anywhere;
  min-width: 0;
  font-size: 21px;
  line-height: 1;
}

.adminFinanceMailboxDatasetMeta, .adminFinanceMailboxDatasetMiniStats, .adminFinanceMailboxDatasetMessageMeta, .adminFinanceMailboxDatasetAttachmentPills, .adminFinanceMailboxDatasetBrowserTools, .adminFinanceMailboxDatasetPager {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  display: flex;
}

.adminFinanceMailboxDatasetMeta span, .adminFinanceMailboxDatasetMiniStats span {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: color-mix(in srgb, var(--bg-2), white 32%);
  min-height: 28px;
  font-family: var(--font-mono);
  border-radius: 999px;
  align-items: center;
  padding: 4px 8px;
  font-size: 12px;
  line-height: 1.25;
  display: inline-flex;
}

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

.adminFinanceMailboxDatasetSenderSearch {
  gap: 6px;
  display: grid;
}

.adminFinanceMailboxDatasetSenderResults {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: color-mix(in srgb, var(--bg-2), white 50%);
  border-radius: 8px;
  gap: 4px;
  padding: 5px;
  display: grid;
}

.adminFinanceMailboxDatasetSenderResult {
  width: 100%;
  min-height: 34px;
  color: color-mix(in srgb, var(--fg), var(--muted) 20%);
  text-align: left;
  background: #fff;
  border: 1px solid #0000;
  border-radius: 6px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 6px 8px;
  font-size: 12px;
  font-weight: 700;
  display: grid;
}

.adminFinanceMailboxDatasetSenderResult:hover:not(:disabled), .adminFinanceMailboxDatasetSenderResult.isActive {
  border-color: color-mix(in srgb, var(--focus), transparent 40%);
  background: color-mix(in srgb, var(--focus), white 94%);
  color: color-mix(in srgb, var(--focus), black 24%);
}

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

.adminFinanceMailboxDatasetSenderResult strong {
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: 11px;
  line-height: 1;
}

.adminFinanceMailboxDatasetSenderEmpty {
  margin: 0;
  padding: 5px 6px;
  font-size: 12px;
  line-height: 1.25;
}

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

.adminFinanceMailboxDatasetToggleGrid label, .adminFinanceMailboxDatasetAttachment {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  display: grid;
}

.adminFinanceMailboxDatasetToggleGrid label {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  border-radius: var(--radius);
  background: color-mix(in srgb, white, var(--bg) 8%);
  min-height: 44px;
  padding: 9px 10px;
}

.adminFinanceMailboxDatasetPlanCard {
  top: calc(var(--admin-shell-header-height) + 18px);
  align-self: start;
  position: sticky;
}

.adminFinanceMailboxDatasetPlanButton {
  width: 100%;
}

.adminFinanceMailboxDatasetPlanResult, .adminFinanceMailboxDatasetReplayBox, .adminFinanceMailboxDatasetReplayResult, .adminFinanceMailboxDatasetHistoryList, .adminFinanceMailboxDatasetCleanupBox {
  gap: 12px;
  display: grid;
}

.adminFinanceMailboxDatasetReplayBox, .adminFinanceMailboxDatasetCleanupBox {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  margin-top: 12px;
  padding-top: 12px;
}

.adminFinanceMailboxDatasetHistoryRun {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: calc(var(--radius) + 2px);
  background: #fff;
  gap: 10px;
  padding: 12px;
  display: grid;
}

.adminFinanceMailboxDatasetInlineCheck {
  min-height: 44px;
  color: var(--fg);
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  display: grid;
}

.adminFinanceMailboxDatasetWarningList {
  border: 1px solid color-mix(in srgb, var(--warn), transparent 36%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--warn), white 94%);
  gap: 6px;
  margin: 0;
  padding: 10px 12px 10px 28px;
  display: grid;
}

.adminFinanceMailboxDatasetPlanRows {
  gap: 8px;
  display: grid;
}

.adminFinanceMailboxDatasetPlanRows a {
  width: fit-content;
  min-height: 28px;
  color: var(--focus);
  font-weight: 700;
  text-decoration: none;
}

.adminFinanceMailboxDatasetPlanRows a:hover {
  text-decoration: underline;
}

.adminFinanceMailboxDatasetBrowserTools {
  justify-content: flex-end;
}

.adminFinanceMailboxDatasetBrowserCard .adminFinanceInboxResultsHead {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  gap: 12px;
  padding-bottom: 10px;
}

.adminFinanceMailboxDatasetPageIndicator {
  min-height: 30px;
  color: var(--muted);
  font-family: var(--font-mono);
  align-items: center;
  font-size: 12px;
  font-weight: 650;
  display: inline-flex;
}

.adminFinanceMailboxDatasetMessageList {
  max-height: min(660px, calc(100vh - var(--admin-shell-header-height) - 166px));
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  border-radius: var(--radius);
  background: #fff;
  gap: 0;
  display: grid;
  overflow: auto;
}

.adminFinanceMailboxDatasetMessage {
  background: #fff;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 10px;
  padding: 10px 12px;
  display: grid;
}

.adminFinanceMailboxDatasetMessage + .adminFinanceMailboxDatasetMessage {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
}

.adminFinanceMailboxDatasetMessageDate {
  color: var(--muted);
  font-family: var(--font-mono);
  align-content: start;
  gap: 3px;
  padding-top: 1px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  display: grid;
}

.adminFinanceMailboxDatasetMessageDate time {
  color: var(--fg);
}

.adminFinanceMailboxDatasetMessageContent {
  gap: 7px;
  min-width: 0;
  display: grid;
}

.adminFinanceMailboxDatasetMessageHead {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.adminFinanceMailboxDatasetMessageIdentity {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminFinanceMailboxDatasetMessageIdentity strong, .adminFinanceMailboxDatasetAttachmentMain strong {
  overflow-wrap: anywhere;
}

.adminFinanceMailboxDatasetMessageIdentity strong {
  color: var(--fg);
  font-size: 13px;
  line-height: 1.25;
}

.adminFinanceMailboxDatasetMessageIdentity span {
  color: var(--muted);
  overflow-wrap: anywhere;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.25;
}

.adminFinanceMailboxDatasetSubject {
  color: var(--fg);
  font-family: var(--font-sans);
  overflow-wrap: anywhere;
  margin: 0;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.25;
}

.adminFinanceMailboxDatasetExcerpt {
  -webkit-line-clamp: 2;
  border-left: 3px solid color-mix(in srgb, var(--focus), transparent 58%);
  background: color-mix(in srgb, var(--focus), white 98%);
  color: color-mix(in srgb, var(--fg), var(--muted) 28%);
  overflow-wrap: anywhere;
  white-space: pre-wrap;
  -webkit-box-orient: vertical;
  margin: 0;
  padding: 7px 9px;
  font-size: 13px;
  line-height: 1.4;
  display: -webkit-box;
  overflow: hidden;
}

.adminFinanceMailboxDatasetAttachmentList {
  gap: 6px;
  display: grid;
}

.adminFinanceMailboxDatasetAttachment {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  border-radius: calc(var(--radius) - 2px);
  background: color-mix(in srgb, var(--bg-2), white 42%);
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-height: 40px;
  padding: 6px 8px;
}

.adminFinanceMailboxDatasetAttachment:has(input:checked) {
  border-color: color-mix(in srgb, var(--focus), transparent 42%);
  background: color-mix(in srgb, var(--focus), white 96%);
}

.adminFinanceMailboxDatasetAttachmentMain {
  gap: 2px;
  min-width: 0;
  display: grid;
}

@media (max-width: 1120px) {
  .adminFinanceMailboxDatasetControlGrid, .adminFinanceMailboxDatasetGrid, .adminFinanceMailboxDatasetStats, .adminFinanceMailboxDatasetToggleGrid, .adminFinanceMailboxDatasetWorkflow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .adminFinanceMailboxDatasetPlanCard {
    position: static;
  }
}

@media (max-width: 720px) {
  .adminFinanceMailboxDatasetControlGrid, .adminFinanceMailboxDatasetPickerRow, .adminFinanceMailboxDatasetFilterGrid, .adminFinanceMailboxDatasetGrid, .adminFinanceMailboxDatasetStats, .adminFinanceMailboxDatasetToggleGrid, .adminFinanceMailboxDatasetWorkflow, .adminFinanceMailboxDatasetMessageHead, .adminFinanceMailboxDatasetMessage, .adminFinanceMailboxDatasetBrowserTools {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminFinanceMailboxDatasetMessageList {
    max-height: none;
    overflow: visible;
  }

  .adminFinanceMailboxDatasetMessageHead {
    display: grid;
  }

  .adminFinanceMailboxDatasetBrowserTools {
    justify-content: stretch;
    display: grid;
  }

  .adminFinanceMailboxDatasetPager .btn {
    flex: 120px;
  }

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

  .adminFinanceMailboxDatasetAttachmentPills {
    grid-column: 2;
    justify-content: flex-start;
  }
}

.adminFinanceMailboxDatasetPage {
  gap: 15px;
  width: 100%;
  max-width: none;
  margin-right: auto;
}

.adminFinanceMailboxDatasetBackButton, .adminFinanceMailboxDatasetIconButton, .adminFinanceMailboxDatasetReplayButton {
  justify-content: center;
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.adminFinanceMailboxDatasetBackButton {
  min-height: 42px;
  padding-inline: 14px;
}

.adminFinanceMailboxDatasetPage .adminHeaderBody {
  flex-wrap: nowrap;
  align-items: flex-start;
}

.adminFinanceMailboxDatasetPage .adminHeaderTitleWrap {
  flex: 1 1 0;
  max-width: calc(100% - 250px);
}

.adminFinanceMailboxDatasetPage .adminHeaderBody .adminFinanceMailboxDatasetBackButton {
  flex: none;
  margin-left: auto;
}

.adminFinanceMailboxDatasetShell {
  gap: 14px;
  min-width: 0;
  display: grid;
}

.adminFinanceMailboxDatasetWorkflow {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: calc(var(--radius) + 4px);
  background: #fff;
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  gap: 0;
  min-width: 0;
  padding: 14px 16px;
  display: grid;
  overflow: hidden;
}

.adminFinanceMailboxDatasetWorkflow > li {
  min-width: 0;
  min-height: auto;
  color: color-mix(in srgb, var(--muted), var(--fg) 20%);
  background: none;
  border: 0;
  border-radius: 0;
  align-items: center;
  gap: 10px;
  padding: 0 18px 0 2px;
  display: flex;
  position: relative;
}

.adminFinanceMailboxDatasetWorkflow > li:not(:last-child):after {
  content: "";
  background: color-mix(in srgb, var(--stroke), white 12%);
  z-index: 0;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 42px;
  right: 18px;
  transform: translateY(-50%);
}

.adminFinanceMailboxDatasetWorkflow li.isActive:after, .adminFinanceMailboxDatasetWorkflow li.isComplete:after {
  background: var(--focus);
}

.adminFinanceMailboxDatasetWorkflow strong {
  z-index: 1;
  background: color-mix(in srgb, var(--stroke), white 34%);
  width: 31px;
  height: 31px;
  color: color-mix(in srgb, var(--muted), var(--fg) 22%);
  flex: none;
  font-size: 12px;
  font-weight: 780;
  position: relative;
}

.adminFinanceMailboxDatasetWorkflow .isActive strong {
  background: var(--focus);
  color: #fff;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus), white 82%);
}

.adminFinanceMailboxDatasetWorkflow .adminFinanceMailboxDatasetWorkflowText {
  z-index: 1;
  min-width: 0;
  min-height: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  background: #fff;
  border: 0;
  border-radius: 0;
  gap: 2px;
  padding-block: 0;
  padding-inline-end: 6px;
  display: grid;
  position: relative;
}

.adminFinanceMailboxDatasetWorkflowText > span {
  min-width: 0;
  min-height: 0;
  color: color-mix(in srgb, var(--fg), black 2%);
  background: none;
  border: 0;
  border-radius: 0;
  gap: 0;
  padding: 0;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.15;
  display: block;
}

.adminFinanceMailboxDatasetWorkflow .adminFinanceMailboxDatasetWorkflowText > span:after {
  content: none;
  display: none;
}

.adminFinanceMailboxDatasetWorkflowText small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.2;
}

.adminFinanceMailboxDatasetWorkflow .isActive .adminFinanceMailboxDatasetWorkflowText > span, .adminFinanceMailboxDatasetWorkflow .isActive .adminFinanceMailboxDatasetWorkflowText small {
  color: var(--focus);
}

.adminFinanceMailboxDatasetControlGrid {
  grid-template-columns: minmax(315px, .98fr) minmax(380px, 1.22fr) minmax(310px, .94fr);
  align-items: start;
  gap: 14px;
  display: grid;
}

.adminFinanceMailboxDatasetControlCard, .adminFinanceMailboxDatasetSectionCard {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 7%);
  border-radius: calc(var(--radius) + 3px);
  min-width: 0;
  box-shadow: none;
  background: #fff;
  gap: 14px;
  display: grid;
}

.adminFinanceMailboxDatasetControlCard {
  padding: 16px;
}

.adminFinanceMailboxDatasetSectionCard {
  padding: 14px 16px 16px;
}

.adminFinanceMailboxDatasetCardHead, .adminFinanceMailboxDatasetSectionTitle, .adminFinanceMailboxDatasetSectionHeader, .adminFinanceMailboxDatasetHistoryRunHead {
  align-items: center;
  min-width: 0;
  display: flex;
}

.adminFinanceMailboxDatasetCardHead, .adminFinanceMailboxDatasetSectionTitle {
  gap: 10px;
}

.adminFinanceMailboxDatasetCardIcon {
  width: 24px;
  height: 24px;
  color: color-mix(in srgb, var(--fg), var(--muted) 10%);
  flex: none;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.adminFinanceMailboxDatasetSectionHeader {
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
}

.adminFinanceMailboxDatasetSectionTitle {
  flex-wrap: wrap;
}

.adminFinanceMailboxDatasetPickerRow {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 10px;
  display: grid;
}

.adminFinanceMailboxDatasetPicker {
  min-width: 0;
}

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

.adminFinanceMailboxDatasetStats > div, .adminFinanceMailboxDatasetSelectionBox, .adminFinanceMailboxDatasetPlanRows > div {
  background: color-mix(in srgb, #fff, var(--bg-2) 24%);
  border-radius: 8px;
  align-content: center;
  min-height: 60px;
  padding: 10px 12px;
}

.adminFinanceMailboxDatasetStats span {
  color: color-mix(in srgb, var(--muted), var(--fg) 12%);
  letter-spacing: .045em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 760;
  line-height: 1.15;
}

.adminFinanceMailboxDatasetStats strong {
  color: color-mix(in srgb, var(--fg), black 3%);
  font-family: var(--font-sans);
  font-size: 20px;
  font-weight: 860;
  line-height: 1.05;
}

.adminFinanceMailboxDatasetMeta {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 9%);
  background: #fff;
  border-radius: 8px;
  gap: 0;
  display: grid;
  overflow: hidden;
}

.adminFinanceMailboxDatasetMeta span {
  min-height: 34px;
  color: color-mix(in srgb, var(--fg), var(--muted) 18%);
  font-family: var(--font-mono);
  overflow-wrap: anywhere;
  background: none;
  border: 0;
  border-radius: 0;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  font-size: 12px;
  line-height: 1.25;
  display: grid;
}

.adminFinanceMailboxDatasetMeta span + span {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 13%);
}

.adminFinanceMailboxDatasetMeta svg {
  color: var(--muted);
}

.adminFinanceMailboxDatasetMiniStats span {
  min-height: 27px;
  color: color-mix(in srgb, var(--muted), var(--fg) 12%);
  background: #fff;
  padding: 4px 10px;
  font-weight: 690;
}

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

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

.adminFinanceMailboxDatasetToggleGrid label {
  min-height: 44px;
  color: color-mix(in srgb, var(--fg), var(--muted) 10%);
  background: #fff;
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 13px;
  font-weight: 680;
  line-height: 1.2;
}

.adminFinanceMailboxDatasetToggleGrid label:has(input:checked) {
  border-color: color-mix(in srgb, var(--focus), transparent 46%);
  background: color-mix(in srgb, var(--focus), white 96%);
}

.adminFinanceMailboxDatasetToggleGrid input[type="checkbox"], .adminFinanceMailboxDatasetAttachment input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--focus);
  margin: 0;
}

.adminFinanceMailboxDatasetPlanActions {
  gap: 8px;
  display: grid;
}

.adminFinanceMailboxDatasetPlanActions .btn, .adminFinanceMailboxDatasetPlanButton, .adminFinanceMailboxDatasetReplayButton {
  width: 100%;
}

.adminFinanceMailboxDatasetBlueButton {
  border-color: var(--focus);
  background: var(--focus);
  color: #fff;
  box-shadow: none;
}

.adminFinanceMailboxDatasetBlueButton:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--focus), black 14%);
  background: color-mix(in srgb, var(--focus), black 8%);
}

.adminFinanceMailboxDatasetReplayButton {
  border-color: color-mix(in srgb, var(--focus), transparent 42%);
  background: color-mix(in srgb, var(--focus), white 94%);
  min-height: 44px;
  color: var(--focus);
  font-weight: 760;
}

.adminFinanceMailboxDatasetReplayButton:disabled {
  border-color: color-mix(in srgb, var(--stroke), transparent 8%);
  background: color-mix(in srgb, var(--bg-2), white 58%);
  color: color-mix(in srgb, var(--muted), white 8%);
}

.adminFinanceMailboxDatasetReplayBox, .adminFinanceMailboxDatasetCleanupBox {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  padding-top: 12px;
}

.adminFinanceMailboxDatasetHistoryRun {
  border-radius: 10px;
  gap: 12px;
  padding: 0;
  overflow: hidden;
}

.adminFinanceMailboxDatasetHistoryRunHead {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  background: color-mix(in srgb, var(--bg-2), white 68%);
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
}

.adminFinanceMailboxDatasetMessageMain {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.adminFinanceMailboxDatasetMessageMain strong {
  color: color-mix(in srgb, var(--fg), black 3%);
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 1.25;
}

.adminFinanceMailboxDatasetPlanRows > div {
  min-height: auto;
}

.adminFinanceMailboxDatasetBrowserCard .adminFinanceMailboxDatasetSectionHeader {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  padding-bottom: 10px;
}

.adminFinanceMailboxDatasetPager .btn {
  min-height: 34px;
  padding: 0 12px;
}

.adminFinanceMailboxDatasetMessageList {
  max-height: min(660px, calc(100vh - var(--admin-shell-header-height) - 190px));
  border-radius: 10px;
}

.adminFinanceMailboxDatasetMessage {
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 14px;
  padding: 12px 14px;
}

.adminFinanceMailboxDatasetMessageContent {
  gap: 8px;
}

.adminFinanceMailboxDatasetMessageMeta {
  justify-content: flex-end;
}

.adminFinanceMailboxDatasetMessageMeta .pill, .adminFinanceMailboxDatasetAttachmentPills .pill {
  border-color: color-mix(in srgb, var(--stroke), transparent 8%);
  min-height: 28px;
  color: color-mix(in srgb, var(--muted), var(--fg) 18%);
  background: #fff;
  font-size: 12px;
  font-weight: 670;
}

.adminFinanceMailboxDatasetAttachmentPills .pillStatusApproved {
  border-color: color-mix(in srgb, var(--ok), transparent 40%);
  background: color-mix(in srgb, var(--ok), white 93%);
  color: color-mix(in srgb, var(--ok), black 18%);
}

.adminFinanceMailboxDatasetAttachmentPills .pillStatusRejected {
  border-color: color-mix(in srgb, var(--danger), transparent 42%);
  background: color-mix(in srgb, var(--danger), white 94%);
  color: color-mix(in srgb, var(--danger), black 15%);
}

.adminFinanceMailboxDatasetAttachmentPills .pillStatusPending {
  border-color: color-mix(in srgb, var(--warn), transparent 42%);
  background: color-mix(in srgb, var(--warn), white 94%);
  color: color-mix(in srgb, var(--warn), black 26%);
}

.adminFinanceMailboxDatasetAttachmentList {
  gap: 7px;
}

.adminFinanceMailboxDatasetAttachment {
  background: color-mix(in srgb, var(--bg-2), white 66%);
  border-radius: 8px;
  grid-template-columns: auto auto minmax(0, 1fr) auto;
  min-height: 46px;
  padding: 8px 10px;
}

.adminFinanceMailboxDatasetAttachmentIcon {
  color: color-mix(in srgb, var(--danger), white 10%);
}

.adminFinanceMailboxDatasetHistoryFiles {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  padding: 0 14px 2px;
  display: grid;
}

.adminFinanceMailboxDatasetHistoryFiles > div {
  border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  grid-template-columns: 20px minmax(0, 1fr);
  grid-template-areas: "icon name"
                       "icon link";
  align-items: start;
  gap: 2px 8px;
  min-width: 0;
  padding: 8px 12px;
  display: grid;
}

.adminFinanceMailboxDatasetHistoryFiles > div:nth-child(4n+1) {
  border-left: 0;
}

.adminFinanceMailboxDatasetHistoryFiles svg {
  color: color-mix(in srgb, var(--danger), white 10%);
  grid-area: icon;
}

.adminFinanceMailboxDatasetHistoryFiles strong {
  overflow-wrap: anywhere;
  min-width: 0;
  color: var(--fg);
  grid-area: name;
  font-size: 13px;
  line-height: 1.2;
}

.adminFinanceMailboxDatasetHistoryFiles a {
  width: fit-content;
  color: var(--focus);
  grid-area: link;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.2;
  text-decoration: none;
}

.adminFinanceMailboxDatasetHistoryFiles a:hover {
  text-decoration: underline;
}

.adminFinanceMailboxDatasetHistoryRun .adminFinancePanelActions {
  padding: 0 14px 14px;
}

@media (max-width: 1280px) {
  .adminFinanceMailboxDatasetControlGrid {
    grid-template-columns: minmax(0, 1fr);
  }

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

  .adminFinanceMailboxDatasetHistoryFiles > div:nth-child(4n+1) {
    border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  }

  .adminFinanceMailboxDatasetHistoryFiles > div:nth-child(odd) {
    border-left: 0;
  }
}

@media (max-width: 760px) {
  .adminFinanceMailboxDatasetPage .adminHeaderBody {
    flex-wrap: wrap;
    align-items: stretch;
  }

  .adminFinanceMailboxDatasetPage .adminHeaderTitleWrap {
    flex-basis: 100%;
    max-width: none;
  }

  .adminFinanceMailboxDatasetPage .adminHeaderBody .adminFinanceMailboxDatasetBackButton {
    width: fit-content;
    max-width: 100%;
    margin-left: 0;
  }

  .adminFinanceMailboxDatasetWorkflow {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    padding: 12px 10px 0;
    display: grid;
    overflow: hidden;
  }

  .adminFinanceMailboxDatasetWorkflow > li {
    text-align: center;
    justify-items: center;
    gap: 5px;
    min-width: 0;
    padding: 0 2px 12px;
    display: grid;
  }

  .adminFinanceMailboxDatasetWorkflow > li:not(:last-child):after {
    top: 14px;
    left: calc(50% + 17px);
    right: calc(17px - 50%);
  }

  .adminFinanceMailboxDatasetWorkflowText small {
    display: none;
  }

  .adminFinanceMailboxDatasetWorkflowText > span {
    overflow-wrap: anywhere;
    font-size: 11px;
    line-height: 1.1;
  }

  .adminFinanceMailboxDatasetWorkflow strong {
    width: 28px;
    height: 28px;
    font-size: 11px;
  }

  .adminFinanceMailboxDatasetWorkflow .isActive {
    border-bottom: 3px solid var(--focus);
  }

  .adminFinanceMailboxDatasetControlCard, .adminFinanceMailboxDatasetSectionCard {
    border-radius: calc(var(--radius) + 2px);
    padding: 15px;
  }

  .adminFinanceMailboxDatasetSectionHeader, .adminFinanceMailboxDatasetHistoryRunHead, .adminFinanceMailboxDatasetMessageHead, .adminFinanceMailboxDatasetBrowserTools {
    grid-template-columns: minmax(0, 1fr);
    justify-content: stretch;
    display: grid;
  }

  .adminFinanceMailboxDatasetBrowserTools {
    justify-items: start;
  }

  .adminFinanceMailboxDatasetPager {
    justify-content: flex-end;
    width: 100%;
  }

  .adminFinanceMailboxDatasetPager .btn {
    flex: 120px;
  }

  .adminFinanceMailboxDatasetMessageList {
    max-height: none;
    overflow: visible;
  }

  .adminFinanceMailboxDatasetMessage {
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 12px;
    padding: 13px 0;
  }

  .adminFinanceMailboxDatasetMessageMeta {
    justify-content: flex-start;
  }

  .adminFinanceMailboxDatasetExcerpt {
    display: none;
  }

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

  .adminFinanceMailboxDatasetAttachmentPills {
    grid-column: 3;
    justify-content: flex-start;
  }

  .adminFinanceMailboxDatasetHistoryFiles {
    grid-template-columns: minmax(0, 1fr);
    padding-inline: 10px;
  }

  .adminFinanceMailboxDatasetHistoryFiles > div, .adminFinanceMailboxDatasetHistoryFiles > div:nth-child(odd), .adminFinanceMailboxDatasetHistoryFiles > div:nth-child(4n+1) {
    border-left: 0;
    border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  }
}

@media (max-width: 430px) {
  .adminFinanceMailboxDatasetControlCard, .adminFinanceMailboxDatasetSectionCard {
    padding: 14px;
  }

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

  .adminFinanceMailboxDatasetPicker select {
    background: none;
    border-color: #0000;
    min-height: 34px;
    padding-inline: 0;
    font-size: 18px;
    font-weight: 500;
  }

  .adminFinanceMailboxDatasetStats {
    gap: 7px;
  }

  .adminFinanceMailboxDatasetStats > div {
    padding: 9px 10px;
  }
}

.adminDocumentProcessingHeaderActions {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  display: flex;
}

@keyframes adminFinanceProcessingSpin {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

.adminFinanceRowActions {
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 6px;
  display: flex;
}

.adminFinanceRowActions .btn {
  white-space: nowrap;
}

.adminFinanceRowPrimaryAction {
  min-width: 72px;
  padding-inline: 12px;
}

.adminFinanceInboxPrimaryAction {
  justify-content: center;
  width: 60px;
  min-width: 60px;
  font-weight: 700;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.adminFinanceActionsCell {
  text-align: right;
  min-width: 124px;
}

.adminFinanceActionsCell:has(.adminFinanceRowActions .adminFinanceRowPrimaryAction:only-child) {
  min-width: 92px;
}

.adminFinanceReviewPage, .adminFinanceReviewExperience {
  gap: 16px;
  min-width: 0;
  display: grid;
}

.adminFinanceReviewHead {
  gap: 10px;
  display: grid;
  position: static;
}

.adminFinanceReviewTitleRow {
  align-items: center;
  gap: 16px;
  padding-inline: 0;
}

.adminFinanceReviewTitleActions {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  display: flex;
}

.adminFinanceReviewPageHead {
  align-items: flex-start;
}

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

.adminFinanceReviewSummaryCard {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, white, var(--bg) 6%);
  align-content: start;
  gap: 4px;
  min-width: 0;
  min-height: 92px;
  padding: 14px 16px;
  transition: border-color .14s, background-color .14s, box-shadow .14s;
  display: grid;
}

.adminFinanceReviewSummaryBody {
  min-height: 0;
  display: grid;
}

.adminFinanceReviewSummaryCard.isPrimary {
  border-color: color-mix(in srgb, var(--focus), transparent 12%);
  background: color-mix(in srgb, var(--focus), white 95%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--focus), transparent 28%),
    0 8px 18px #2848920d;
}

.adminFinanceReviewSummaryCard.isPrimary:hover {
  border-color: color-mix(in srgb, var(--focus), transparent 4%);
  background: color-mix(in srgb, var(--focus), white 93%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--focus), transparent 18%),
    0 10px 22px #28489214;
}

.adminFinanceReviewSummaryCard.isNeutralStrong {
  border-color: color-mix(in srgb, var(--fg), transparent 18%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--stroke), transparent 22%);
  background: #fff;
}

.adminFinanceReviewSummaryCard.isWarning {
  border-color: color-mix(in srgb, var(--warning), transparent 42%);
  background: color-mix(in srgb, var(--warning), white 94%);
}

.adminFinanceReviewSummaryCard.isDanger {
  border-color: color-mix(in srgb, var(--danger), transparent 42%);
  background: color-mix(in srgb, var(--danger), white 95%);
}

.adminFinanceReviewSummaryCard.isSuccess {
  border-color: color-mix(in srgb, var(--success), transparent 44%);
  background: color-mix(in srgb, var(--success), white 94%);
}

.adminFinanceSupplierMeta, .adminFinanceReviewSummaryMeta {
  gap: 2px;
  display: grid;
}

.adminFinanceReviewSummaryMeta {
  margin-top: 2px;
}

.adminFinanceSupplierMetaAddress {
  color: color-mix(in srgb, var(--fg), var(--muted) 68%);
  max-width: 42ch;
  font-size: .9rem;
  line-height: 1.28;
}

.adminFinanceSupplierMetaTaxId {
  color: color-mix(in srgb, var(--fg), var(--muted) 42%);
  letter-spacing: .01em;
  font-size: .88rem;
  line-height: 1.2;
}

.adminFinanceReviewSummaryIssueList {
  gap: 4px;
  margin-top: 0;
  display: grid;
}

.adminFinanceReviewStateSummaryCard.isSingleIssue .adminFinanceReviewSummaryIssueList {
  margin-top: 6px;
}

.adminFinanceReviewSummaryStateRow {
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminFinanceReviewSummaryIssueItem {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  border-radius: calc(var(--radius) + 1px);
  text-align: left;
  cursor: pointer;
  width: 100%;
  color: color-mix(in srgb, var(--fg), var(--muted) 38%);
  background: #fff;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  font-size: 14px;
  line-height: 1.25;
  transition: border-color .16s, background-color .16s, transform .16s;
  display: grid;
}

.adminFinanceReviewStateSummaryCard.isDanger {
  border-color: color-mix(in srgb, var(--danger), transparent 36%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--danger), transparent 76%);
  background: #fff;
}

.adminFinanceReviewStateSummaryCard.isWarning {
  border-color: color-mix(in srgb, var(--warn), transparent 42%);
  background: color-mix(in srgb, var(--warn), white 96%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--warn), transparent 78%);
}

.adminFinanceReviewStateSummaryCard.isSuccess {
  border-color: color-mix(in srgb, var(--ok), transparent 40%);
  background: color-mix(in srgb, var(--ok), white 95%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ok), transparent 78%);
}

.adminFinanceReviewStateSummaryCard.isDanger .label {
  color: color-mix(in srgb, var(--danger), var(--fg) 34%);
}

.adminFinanceReviewStateSummaryCard.isWarning .label {
  color: color-mix(in srgb, var(--warn), var(--fg) 30%);
}

.adminFinanceReviewStateSummaryCard.isSuccess .label {
  color: color-mix(in srgb, var(--ok), var(--fg) 30%);
}

.adminFinanceReviewSummaryIssueItem:hover {
  transform: translateY(-1px);
}

.adminFinanceReviewSummaryIssueItem:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), white 8%);
  outline-offset: 3px;
}

.adminFinanceReviewSummaryIssueMarker {
  opacity: .95;
  background: currentColor;
  border-radius: 999px;
  width: 7px;
  height: 7px;
}

.adminFinanceReviewSummaryIssueText {
  min-width: 0;
}

.adminFinanceReviewSummaryIssueContent {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminFinanceReviewSummaryIssueDescription {
  color: color-mix(in srgb, var(--fg), var(--muted) 54%);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.3;
}

.adminFinanceReviewSummaryIssueChevron {
  color: currentColor;
  opacity: .72;
  font-size: 18px;
  line-height: 1;
}

.adminFinanceReviewSummaryIssueItem.isBlocker {
  color: color-mix(in srgb, var(--danger), var(--fg) 16%);
  border-color: color-mix(in srgb, var(--danger), transparent 62%);
  font-weight: 500;
}

.adminFinanceReviewSummaryIssueItem.isWarning {
  color: color-mix(in srgb, var(--warn), var(--fg) 0%);
  border-color: color-mix(in srgb, var(--warn), transparent 48%);
  font-weight: 500;
}

.adminFinanceReviewSummaryIssueItem.isInfo {
  color: color-mix(in srgb, var(--focus), var(--fg) 18%);
  border-color: color-mix(in srgb, var(--focus), transparent 58%);
}

.adminFinanceReviewSummaryIssueItem.isRich {
  align-items: start;
  padding-top: 10px;
  padding-bottom: 10px;
}

.adminFinanceReviewSummaryIssueItem.isBlocker:hover {
  border-color: color-mix(in srgb, var(--danger), transparent 40%);
}

.adminFinanceReviewSummaryIssueItem.isWarning:hover {
  border-color: color-mix(in srgb, var(--warn), transparent 34%);
}

.adminFinanceReviewSummaryIssueItem.isInfo:hover {
  border-color: color-mix(in srgb, var(--focus), transparent 40%);
}

.adminFinanceReviewSummaryIssueToggle {
  width: fit-content;
  color: var(--focus);
  font: inherit;
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
}

.adminFinanceReviewSummaryIssueToggle.isCompact {
  color: var(--focus);
  margin-top: 2px;
  font-size: 13px;
  font-weight: 500;
}

.adminFinanceReviewSummaryIssueToggle:hover {
  text-decoration: underline;
}

.adminFinanceReviewSummaryIssueToggle.isCompact:hover {
  opacity: 1;
  text-decoration: underline;
}

.adminFinanceReviewSummaryIssueToggle:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), white 8%);
  outline-offset: 4px;
}

.adminFinanceReviewAmountBreakdown {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 0;
  display: grid;
}

.adminFinanceReviewAmountBreakdownItem {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  gap: 3px;
  min-width: 0;
  padding-top: 8px;
  display: grid;
}

.adminFinanceReviewAmountBreakdownItem strong {
  font-size: 15px;
  line-height: 1.25;
}

.adminFinanceReviewAmountBreakdownItem.isDanger strong, .adminFinanceReviewSummaryValueDanger {
  color: color-mix(in srgb, var(--danger), var(--fg) 18%);
}

.adminFinanceCostControlSourceSummaryList {
  gap: 10px;
  margin-top: 6px;
  display: grid;
}

.adminFinanceCostControlSourceSummaryItem {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  gap: 3px;
  min-width: 0;
  padding-top: 8px;
  display: grid;
}

.adminFinanceCostControlSourceSummaryItem strong {
  font-size: 15px;
  line-height: 1.3;
}

.adminFinanceReviewSummaryActionLink {
  color: var(--focus);
  align-self: flex-start;
  margin-top: 2px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
}

.adminFinanceReviewSummaryActionLinkInline {
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.adminFinanceReviewSummaryActionIcon {
  justify-content: center;
  align-items: center;
  width: 14px;
  height: 14px;
  display: inline-flex;
}

.adminFinanceReviewSummaryActionIcon svg {
  stroke: currentColor;
  stroke-width: 1.8px;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 14px;
  height: 14px;
}

.adminFinanceReviewSummaryActionLink:hover {
  color: color-mix(in srgb, var(--focus), black 12%);
  text-decoration: underline;
}

.adminFinanceReviewSummaryActionLink:focus-visible {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), transparent 68%);
  border-radius: 2px;
  outline: none;
}

.adminFinanceReviewSummaryActionLinkButton {
  font: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0;
}

.adminFinanceReviewDuplicateCompactSummary {
  gap: 4px;
  display: grid;
}

.adminFinanceReviewDuplicateCompactActions {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 8.25rem), 1fr));
  align-items: stretch;
  gap: 6px;
  min-width: 0;
  display: grid;
}

.adminFinanceReviewDuplicateCompactButton {
  white-space: normal;
  overflow-wrap: anywhere;
  text-wrap: balance;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding-inline: 8px;
  font-size: .82rem;
  line-height: 1.08;
}

.adminFinanceReviewDuplicateCompactReason {
  font-size: .92rem;
  line-height: 1.24;
}

.adminFinanceReviewDuplicateSummaryCard, .adminFinanceReviewTotalsSummaryCard {
  grid-template-rows: auto 1fr;
}

.adminFinanceReviewDuplicateSummaryBody {
  align-content: center;
  gap: 8px;
}

.adminFinanceReviewDuplicateSummaryBody > strong {
  line-height: 1.1;
}

.adminFinanceReviewSummaryNote {
  margin-top: 8px;
  line-height: 1.35;
  display: block;
}

.adminFinanceReviewTotalsSummaryBody {
  align-content: center;
  gap: 12px;
}

.adminFinanceReviewHeadActions {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminFinanceReviewTitleButton {
  white-space: nowrap;
  min-height: 44px;
  padding-inline: 16px;
}

.adminFinanceReviewPrimaryAction {
  align-items: center;
  display: flex;
}

.adminFinanceReviewPrimaryActionHint {
  display: inline-flex;
  position: relative;
}

.adminFinanceReviewPrimaryActionHint.hasHint {
  cursor: help;
}

.adminFinanceReviewTitleUtilityButton {
  border-color: color-mix(in srgb, var(--stroke), transparent 12%);
  background: color-mix(in srgb, white, var(--bg) 12%);
  color: color-mix(in srgb, var(--muted), var(--fg) 22%);
}

.adminFinanceReviewTitleUtilityButton:hover {
  border-color: color-mix(in srgb, var(--focus), transparent 54%);
  background: color-mix(in srgb, var(--focus), white 97%);
  color: color-mix(in srgb, var(--focus), black 12%);
}

.adminFinanceReviewTitleUtilityButton.isActive {
  border-color: color-mix(in srgb, var(--focus), transparent 38%);
  background: color-mix(in srgb, var(--focus), white 94%);
  color: color-mix(in srgb, var(--focus), black 14%);
}

.adminFinanceReviewAutosaveStatus {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-radius: calc(var(--radius) - 2px);
  background: color-mix(in srgb, white, var(--bg) 8%);
  min-width: 0;
  min-height: 44px;
  color: color-mix(in srgb, var(--muted), var(--fg) 24%);
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  font-size: 13px;
  line-height: 1.25;
  display: inline-flex;
}

.adminFinanceReviewAutosaveStatusDot {
  opacity: .9;
  background: currentColor;
  border-radius: 999px;
  flex: none;
  width: 8px;
  height: 8px;
}

.adminFinanceReviewAutosaveStatus.isPending, .adminFinanceReviewAutosaveStatus.isProgress {
  border-color: color-mix(in srgb, var(--focus), transparent 56%);
  background: color-mix(in srgb, var(--focus), white 96%);
  color: color-mix(in srgb, var(--focus), black 12%);
}

.adminFinanceReviewAutosaveStatus.isSuccess {
  border-color: color-mix(in srgb, var(--ok), transparent 50%);
  background: color-mix(in srgb, var(--ok), white 95%);
  color: color-mix(in srgb, var(--ok), black 10%);
}

.adminFinanceReviewAutosaveStatus.isWarning {
  border-color: color-mix(in srgb, var(--warn), transparent 42%);
  background: color-mix(in srgb, var(--warn), white 95%);
  color: color-mix(in srgb, var(--warn), black 18%);
}

.adminFinanceReviewAutosaveStatus.isDanger {
  border-color: color-mix(in srgb, var(--danger), transparent 44%);
  background: color-mix(in srgb, var(--danger), white 96%);
  color: color-mix(in srgb, var(--danger), black 16%);
}

.adminFinanceReviewAutosaveRetryButton {
  white-space: nowrap;
  min-height: 30px;
  padding-inline: 10px;
}

.adminFinanceReviewTitleSaveButton {
  border-color: color-mix(in srgb, var(--stroke), transparent 8%);
  background: var(--focus);
  color: #fff;
}

.adminFinanceReviewDecisionMenuTrigger.adminFinanceReviewTitleButton {
  min-width: 0;
}

.adminFinanceReviewStructureRule {
  align-items: start;
  min-width: 0;
  margin-bottom: -16px;
  display: grid;
}

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

.adminFinanceReviewStructureRule.isEvidenceOpen {
  grid-template-columns: minmax(0, var(--admin-finance-evidence-width, 540px)) 14px minmax(0, 1fr);
}

.adminFinanceReviewStructureRuleSegment {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 4%);
  min-width: 0;
}

.adminFinanceReviewStructureRuleSplitter {
  width: 14px;
  min-height: 18px;
  position: relative;
}

.adminFinanceReviewStructureRuleSplitter:before {
  content: "";
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 4%);
  position: absolute;
  inset: 0;
}

.adminFinanceReviewStructureRuleSplitter:after {
  display: none;
}

.adminFinanceReviewDecisionMenu {
  position: relative;
}

.adminFinanceReviewDecisionMenuTrigger {
  min-width: 176px;
  list-style: none;
}

.adminFinanceReviewDecisionMenuTrigger::-webkit-details-marker {
  display: none;
}

.adminFinanceReviewDecisionMenuTrigger[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .58;
}

.adminFinanceReviewDecisionMenuPanel {
  z-index: 8;
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg-2), white 12%);
  gap: 6px;
  min-width: 240px;
  padding: 8px;
  display: grid;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  box-shadow: 0 12px 32px #1a160f14;
}

.adminFinanceReviewDecisionOption {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg), white 24%);
  width: 100%;
  min-height: 42px;
  color: var(--text);
  font: inherit;
  text-align: left;
  cursor: pointer;
  padding: 0 12px;
  font-weight: 600;
  transition: border-color .12s, background-color .12s, color .12s;
}

.adminFinanceReviewDecisionOption:hover {
  border-color: color-mix(in srgb, var(--focus), transparent 56%);
  background: color-mix(in srgb, var(--focus), white 96%);
}

.adminFinanceReviewDecisionOption:disabled {
  cursor: not-allowed;
  opacity: .55;
}

.adminFinanceReviewDecisionHint {
  margin: 2px 2px 0;
  font-size: 13px;
  line-height: 1.35;
}

.adminFinanceReviewWorkspace {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 16px;
  min-width: 0;
  display: grid;
  position: relative;
}

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

.adminFinanceReviewWorkspace.isEvidenceOpen {
  grid-template-columns: minmax(0, var(--admin-finance-evidence-width, 540px)) 14px minmax(0, 1fr);
}

.adminFinanceReviewWorkspace.isEvidenceResizing {
  cursor: col-resize;
}

.adminFinanceReviewEvidenceRail {
  align-self: start;
  min-width: 0;
  display: grid;
  position: sticky;
  top: 184px;
}

.adminFinanceReviewWorkspaceCard {
  min-width: 0;
}

.adminFinanceReviewWorkspaceCard.isEvidenceCollapsed {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: var(--radius);
  background: #fff;
  padding: 18px 18px 14px;
}

.adminFinanceReviewEvidenceBody {
  scrollbar-width: none;
  -ms-overflow-style: none;
  flex-direction: column;
  gap: 12px;
  height: calc(100vh - 228px);
  min-height: 0;
  display: flex;
  overflow: hidden;
}

.adminFinanceReviewEvidenceBody::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.adminFinanceReviewWorkspaceBody {
  gap: 12px;
  max-height: calc(100vh - 228px);
  padding: 0;
  display: grid;
  overflow: auto;
}

.adminFinanceReviewWorkspaceBody.isEvidenceCollapsed {
  gap: 16px;
}

.adminFinanceReviewRailHead {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.adminFinanceReviewEvidenceFilename {
  overflow-wrap: anywhere;
  min-width: 0;
  font-size: 18px;
  line-height: 1.3;
  display: block;
}

.adminFinanceReviewWorkspaceSplitter {
  cursor: col-resize;
  touch-action: none;
  justify-content: center;
  align-items: stretch;
  width: 14px;
  min-height: calc(100vh - 228px);
  display: flex;
  position: sticky;
  top: 184px;
}

button.adminFinanceReviewWorkspaceSplitter {
  appearance: none;
  color: inherit;
  font: inherit;
  background: none;
  border: 0;
  margin: 0;
  padding: 0;
}

.adminFinanceReviewWorkspaceSplitter:before {
  content: "";
  background: color-mix(in srgb, var(--stroke), transparent 4%);
  width: 1px;
}

.adminFinanceReviewWorkspaceSplitter:after {
  content: "";
  background: color-mix(in srgb, var(--stroke), transparent 4%);
  width: 1px;
  height: 16px;
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
}

.adminFinanceReviewWorkspaceSplitter:hover:before, .adminFinanceReviewWorkspace.isEvidenceResizing .adminFinanceReviewWorkspaceSplitter:before, .adminFinanceReviewWorkspaceSplitter:hover:after, .adminFinanceReviewWorkspace.isEvidenceResizing .adminFinanceReviewWorkspaceSplitter:after {
  background: color-mix(in srgb, var(--focus), transparent 12%);
}

.adminFinanceReviewWorkspaceSplitter:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 18%);
  outline-offset: 2px;
}

.adminFinanceReviewRailModes {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminFinanceReviewEvidenceRail.isCollapsed {
  display: none;
}

.adminFinanceReviewEvidenceToggle {
  width: 30px;
  min-width: 30px;
  height: 30px;
  color: inherit;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 9px;
  justify-content: center;
  align-items: center;
  transition: background-color .12s, color .12s, transform .12s;
  display: inline-flex;
}

.adminFinanceReviewEvidenceToggle:focus-visible {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), transparent 64%);
  outline: none;
}

.adminFinanceReviewEvidenceEdgeToggle {
  z-index: 2;
  cursor: pointer;
  background: none;
  border: 0;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  margin: 0;
  padding: 0;
  display: inline-flex;
  position: absolute;
  top: 18px;
  left: 0;
  transform: translateX(-50%);
}

.adminFinanceReviewEvidenceEdgeToggle:focus-visible {
  outline: none;
}

.adminFinanceReviewEvidenceEdgeToggle:focus-visible .adminFinanceReviewEvidenceEdgeToggleGlyphBox {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), transparent 64%);
}

.adminFinanceReviewEvidenceToggleGlyphBox, .adminFinanceReviewEvidenceEdgeToggleGlyphBox {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  background: color-mix(in srgb, var(--bg-2), white 20%);
  border-radius: 9px;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  display: inline-flex;
}

.adminFinanceReviewEvidenceToggleGlyph, .adminFinanceReviewEvidenceEdgeToggleGlyph {
  width: 15px;
  height: 15px;
  stroke: color-mix(in srgb, var(--fg), var(--muted) 24%);
  stroke-width: 2.2px;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
  display: block;
  transform: translateX(-.5px);
}

.adminFinanceReviewEvidenceToggle:hover .adminFinanceReviewEvidenceToggleGlyph, .adminFinanceReviewEvidenceEdgeToggle:hover .adminFinanceReviewEvidenceEdgeToggleGlyph {
  stroke: color-mix(in srgb, var(--fg), var(--focus) 22%);
}

body[data-admin-finance-evidence-resizing="1"] {
  cursor: col-resize;
  -webkit-user-select: none;
  user-select: none;
}

body[data-admin-finance-pdf-panning="1"] {
  cursor: grabbing;
  -webkit-user-select: none;
  user-select: none;
}

.adminFinanceReviewDocumentTabs {
  gap: 10px;
  padding-bottom: 2px;
  display: flex;
  overflow: auto;
}

.adminFinanceReviewDocumentTabsSubtle {
  gap: 14px;
}

.adminFinanceReviewDocumentTab {
  color: color-mix(in srgb, var(--muted), var(--fg) 18%);
  font: inherit;
  cursor: pointer;
  background: none;
  border: 0;
  border-bottom: 1px solid #0000;
  flex: none;
  padding: 0 0 4px;
  font-weight: 500;
  transition: border-color .12s, color .12s;
}

.adminFinanceReviewDocumentTab:hover {
  color: var(--text);
}

.adminFinanceReviewDocumentTab.isActive {
  border-bottom-color: color-mix(in srgb, var(--focus), transparent 30%);
  color: var(--text);
}

.adminFinanceRegistryBody {
  gap: 14px;
}

.adminFinanceRegistryFilterBody, .adminFinanceFilterCardBody {
  gap: 12px;
  container: admin-filter-card / inline-size;
}

.adminListFilterCard .adminFiltersCardBody {
  container: admin-filter-card / inline-size;
}

.adminFinanceRegistryFilterBody .field, .adminFinanceRegistryFilterBody label.field, .adminFinanceFilterCardBody .field, .adminFinanceFilterCardBody label.field, .adminFiltersCardBody .field, .adminFiltersCardBody label.field {
  margin-top: 0;
}

.adminFinanceCostControlSiteField {
  min-width: 0;
}

.adminFinanceFilterRow, .adminFilterSimpleRow {
  align-items: end;
  gap: 12px;
  min-width: 0;
  display: grid;
}

.adminFinanceFilterRow + .adminFinanceFilterRow, .adminFilterSimpleRow + .adminFilterSimpleRow {
  margin-top: 10px;
}

.adminFinanceFilterRow > .field, .adminFinanceFilterRow > label.field, .adminFinanceFilterRow > .adminFinanceFilterActionField, .adminFinanceFilterRow > .adminFilterActionField, .adminFilterSimpleRow > .field, .adminFilterSimpleRow > label.field, .adminFilterSimpleRow > .adminFinanceFilterActionField, .adminFilterSimpleRow > .adminFilterActionField {
  min-width: 0;
  margin-top: 0;
}

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

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

.adminFinanceFilterRowDatesClear, .adminFilterSimpleRowDatesClear {
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) 108px;
}

.adminFinanceFilterRowSiteClear, .adminFilterSimpleRowLookupClear {
  grid-template-columns: minmax(0, 1fr) 108px;
}

.adminFinanceFilterRowStateDatesClear, .adminFilterSimpleRowStateDatesClear {
  grid-template-columns: minmax(170px, .85fr) minmax(190px, 1fr) minmax(190px, 1fr) 108px;
}

.adminListFilterStack {
  gap: 14px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  display: grid;
}

.adminListFilterCard {
  z-index: 2;
  width: 100%;
  max-width: 100%;
  box-shadow: none;
  background: none;
  border: 0;
  border-radius: 0;
  position: relative;
  container: admin-filter-card / inline-size;
}

.adminListFilterCard:focus-within {
  z-index: 120;
}

.adminListFilterCard .adminFiltersCardBody {
  padding: 0;
}

.adminListFilterShell {
  gap: 12px;
  min-width: 0;
  display: grid;
}

.adminListFilterPinnedGrid {
  grid-template-columns: minmax(260px, 1.2fr) minmax(188px, .55fr) minmax(205px, .7fr) minmax(250px, .85fr) max-content;
  grid-template-areas: "search state family period add";
  align-items: stretch;
  gap: 12px;
  min-width: 0;
  display: grid;
}

.adminListFilterPinnedGrid > * {
  min-width: 0;
}

.adminListFilterPinnedGrid.adminListFilterGridVariantRegistry.adminListFilterPinnedCount3:not(.isExpanded) {
  grid-template-columns: minmax(320px, 1.18fr) minmax(220px, .58fr) minmax(320px, .94fr);
  grid-template-areas: "search state period";
}

.adminListFilterPinnedGrid.adminListFilterGridVariantRegistry.adminListFilterPinnedCount4:not(.isExpanded) {
  grid-template-columns: minmax(320px, 1.25fr) minmax(188px, .6fr) minmax(205px, .72fr) minmax(320px, 1fr);
  grid-template-areas: "search state family period";
}

.adminListFilterPinnedGrid.isExpanded {
  grid-template-columns: minmax(260px, 1.2fr) minmax(188px, .55fr) minmax(205px, .7fr) minmax(210px, .65fr) max-content;
  grid-template-areas: "search state family period period";
}

.adminListFilterPinnedGrid.adminListFilterGridVariantInbox {
  grid-template-columns: minmax(280px, 1.24fr) minmax(188px, .55fr) minmax(280px, .85fr) max-content;
  grid-template-areas: "search family period add";
}

.adminListFilterPinnedGrid.adminListFilterGridVariantInbox.isExpanded {
  grid-template-columns: minmax(280px, 1.24fr) minmax(188px, .55fr) minmax(280px, .85fr) minmax(210px, .62fr) max-content;
  grid-template-areas: "search family period period period";
}

.adminListFilterPinnedGrid.adminListFilterGridVariantDocuments, .adminListFilterPinnedGrid.adminListFilterGridVariantDocuments:not(.isExpanded) {
  grid-template-columns: minmax(280px, 1.18fr) minmax(152px, .56fr) minmax(152px, .56fr) minmax(190px, .72fr) minmax(168px, .62fr);
  grid-template-areas: "search state family period action";
}

.adminListFilterPinnedGrid.adminListFilterGridVariantDocumentsInbox, .adminListFilterPinnedGrid.adminListFilterGridVariantDocumentsInbox:not(.isExpanded) {
  grid-template-columns: minmax(320px, 1.25fr) minmax(220px, .58fr) minmax(320px, .94fr);
  grid-template-areas: "search state family";
}

.adminListFilterPinnedGrid.adminListFilterGridVariantLookup.adminListFilterPinnedCount2:not(.isExpanded) {
  grid-template-columns: minmax(360px, 1fr) max-content;
  grid-template-areas: "search add";
}

.adminListFilterPinnedGrid.adminListFilterGridVariantLookup.adminListFilterPinnedCount3:not(.isExpanded) {
  grid-template-columns: minmax(320px, 1fr) minmax(320px, .82fr) max-content;
  grid-template-areas: "search period add";
}

.adminListFilterPinnedGrid.adminListFilterGridVariantDirectory, .adminListFilterPinnedGrid.adminListFilterGridVariantDirectory.adminListFilterPinnedCount2:not(.isExpanded) {
  grid-template-columns: minmax(320px, 1fr) minmax(220px, .42fr);
  grid-template-areas: "search state";
}

.adminListFilterPinnedGrid.adminListFilterGridVariantDirectory.adminListFilterPinnedCount3:not(.isExpanded) {
  grid-template-columns: minmax(300px, 1fr) minmax(210px, .45fr) minmax(220px, .45fr);
  grid-template-areas: "search family state";
}

.adminListFilterPinnedGrid.adminListFilterGridVariantQueue, .adminListFilterPinnedGrid.adminListFilterGridVariantQueue.adminListFilterPinnedCount2:not(.isExpanded) {
  grid-template-columns: minmax(240px, 320px) max-content;
  grid-template-areas: "state add";
}

.adminListFilterPinnedGrid.adminListFilterGridVariantGovernance, .adminListFilterPinnedGrid.adminListFilterGridVariantGovernance:not(.isExpanded) {
  grid-template-columns: repeat(auto-fit, minmax(176px, 1fr));
  grid-template-areas: none;
}

.adminListFilterPinnedGrid.adminListFilterGridVariantGovernance > * {
  grid-area: auto !important;
}

.adminListFilterPinnedGrid.adminListFilterGridVariantGovernance .adminListFilterActionWrap {
  justify-self: stretch;
}

.adminListFilterPinnedGrid.adminListFilterGridVariantGovernance .adminListFilterActionButton {
  width: 100%;
}

.adminAuditExportFilter .adminListFilterPinnedGrid.adminListFilterGridVariantGovernance, .adminAuditExportFilter .adminListFilterPinnedGrid.adminListFilterGridVariantGovernance:not(.isExpanded) {
  grid-template-columns: minmax(174px, .62fr) minmax(174px, .62fr) minmax(190px, .82fr) minmax(160px, .72fr) minmax(128px, .48fr) minmax(260px, 1fr);
}

.adminAuditExportDateField > .label {
  max-width: 42px !important;
}

.adminAuditExportDateField .localizedDateInputTrigger {
  font-family: var(--font-sans);
  letter-spacing: 0;
  padding-left: 68px !important;
}

.adminAuditExportActions {
  grid-template-columns: minmax(100px, .62fr) minmax(163px, 1.38fr);
  align-self: stretch;
  gap: 8px;
  min-width: 0;
  display: grid;
}

.adminAuditExportActionButton {
  border-color: color-mix(in srgb, var(--stroke), transparent 12%);
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 44px;
  color: var(--ink);
  box-shadow: none;
  background: #fff;
  border-radius: 8px;
}

.adminAuditExportActionButton > span {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

@media (max-width: 1600px) {
  .adminAuditExportFilter .adminListFilterPinnedGrid.adminListFilterGridVariantGovernance, .adminAuditExportFilter .adminListFilterPinnedGrid.adminListFilterGridVariantGovernance:not(.isExpanded) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1040px) {
  .adminAuditExportActions {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 680px) {
  .adminAuditExportFilter .adminListFilterPinnedGrid.adminListFilterGridVariantGovernance, .adminAuditExportFilter .adminListFilterPinnedGrid.adminListFilterGridVariantGovernance:not(.isExpanded) {
    grid-template-columns: minmax(0, 1fr);
  }
}

.adminListFilterShell .field, .adminListFilterShell fieldset.field {
  align-content: start;
  gap: 0;
  min-width: 0;
  margin-top: 0;
  position: relative;
}

.adminListFilterShell .field > .label, .adminListFilterShell fieldset.field > .label {
  z-index: 2;
  max-width: 78px;
  color: color-mix(in srgb, var(--muted), transparent 7%);
  letter-spacing: .055em;
  pointer-events: none;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
  font-size: .66rem;
  font-weight: 800;
  line-height: 1;
  position: absolute;
  top: 50%;
  left: 14px;
  overflow: hidden;
  transform: translateY(-50%);
}

.adminListFilterShell .field > .input, .adminListFilterShell .field > .listboxRoot > .input, .adminListFilterShell .field > .listboxRoot > .listboxTrigger {
  border-color: color-mix(in srgb, var(--stroke), transparent 12%);
  min-height: 44px;
  box-shadow: none;
  background: #fff;
  border-radius: 8px;
  font-size: .88rem;
}

.adminListFilterShell .field > .input, .adminListFilterShell .field > .listboxRoot > .input {
  padding-block: 9px;
}

.adminListFilterShell .field > .listboxRoot > .input {
  padding-inline: 82px 12px;
}

.adminListFilterShell .field > .listboxRoot > .listboxTrigger {
  align-items: center;
  padding: 0 34px 0 78px;
}

.adminListFilterShell .field > .listboxRoot > .listboxTrigger .listboxOptionLabelWrap {
  flex: auto;
  min-width: 0;
}

.adminListFilterShell .field > .listboxRoot > .listboxTrigger .listboxOptionLabelWrap > span {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  display: block;
  overflow: hidden;
}

.adminListFilterFieldFamily > .label {
  max-width: 48px !important;
}

.adminListFilterFieldState > .label {
  max-width: 38px !important;
}

.adminListFilterFieldSupplier > .label {
  max-width: 70px !important;
}

.adminListFilterFieldSupplier > .listboxRoot > .input {
  padding-left: 86px !important;
}

.adminListFilterFieldSite > .label {
  max-width: 40px !important;
}

.adminListFilterFieldSite > .listboxRoot > .input {
  padding-left: 58px !important;
}

.adminListFilterFieldUser > .label {
  max-width: 54px !important;
}

.adminListFilterFieldUser > .listboxRoot > .input {
  padding-left: 70px !important;
}

.adminListFilterFieldTarget > .label {
  max-width: 74px !important;
}

.adminListFilterFieldTarget > .listboxRoot > .input {
  padding-left: 90px !important;
}

.adminListFilterFieldRegister > .label, .adminListFilterFieldInvoice > .label {
  max-width: 108px !important;
}

.adminListFilterFieldRegister > .listboxRoot > .input, .adminListFilterFieldInvoice > .listboxRoot > .input {
  padding-left: 126px !important;
}

.adminListFilterRemovableField > .listboxRoot > .input, .adminListFilterRemovableField > .listboxRoot > .listboxTrigger {
  padding-right: 42px !important;
}

.adminListFilterRemoveAddedButton {
  z-index: 4;
  width: 28px;
  height: 28px;
  color: color-mix(in srgb, var(--muted), transparent 14%);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
}

.adminListFilterRemoveAddedButton:hover {
  background: color-mix(in srgb, var(--danger), white 92%);
  color: color-mix(in srgb, var(--danger), black 6%);
}

.adminListFilterRemoveAddedButton:focus-visible {
  background: color-mix(in srgb, var(--focus), white 92%);
  color: color-mix(in srgb, var(--focus), black 8%);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus), transparent 78%);
  outline: none;
}

.adminListFilterFieldSearch .input {
  padding-left: 42px;
}

.adminListFilterInputField > .label {
  max-width: 92px !important;
}

.adminListFilterInputField > .input {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  width: 100%;
  min-width: 0;
  min-height: 44px;
  box-shadow: none;
  box-sizing: border-box;
  background: #fff;
  border-radius: 8px;
  padding-left: 112px;
  font-size: .88rem;
}

.adminListFilterInputField > .input:focus {
  border-color: var(--focus);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus), transparent 78%);
}

.adminAuditExportFilter .adminListFilterInputField {
  align-self: start;
  height: 44px;
  min-height: 44px;
  display: block;
}

.adminAuditExportFilter .adminListFilterInputField > .label {
  z-index: 2;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1;
  overflow: hidden;
  max-width: 92px !important;
  position: absolute !important;
  top: 50% !important;
  left: 14px !important;
  transform: translateY(-50%) !important;
}

.adminAuditExportFilter .adminListFilterInputField > .input, .adminAuditExportFilter .adminListFilterInputField .localizedDateInputTrigger {
  height: 44px;
  padding-block: 0;
}

.adminAuditExportFilter .adminAuditExportDateField > .label {
  max-width: 42px !important;
}

.adminListFilterFieldSearch, .adminFinanceCostControlLookupField {
  grid-area: search;
}

.adminListFilterFieldState {
  grid-area: state;
}

.adminListFilterFieldFamily {
  grid-area: family;
}

.adminDocumentsListFilterFieldRequired {
  grid-area: period;
}

.adminDocumentsListFilterFieldDirection {
  grid-area: action;
}

.adminDocumentsListFilterFieldRequired > .label, .adminDocumentsListFilterFieldDirection > .label {
  max-width: 92px !important;
}

.adminListFilterMultiSelectField {
  position: relative;
}

.adminListFilterMultiSelectTrigger {
  border-color: color-mix(in srgb, var(--stroke), transparent 12%);
  width: 100%;
  min-height: 44px;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  background: #fff;
  border-radius: 8px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 0 12px 0 14px;
  font-size: .88rem;
  line-height: 1;
  display: grid;
  position: relative;
}

.adminListFilterMultiSelectTrigger .label {
  max-width: none;
  position: static;
  transform: none;
}

.adminListFilterMultiSelectValue {
  min-width: 0;
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.adminListFilterRemovableField .adminListFilterMultiSelectTrigger {
  padding-right: 42px;
}

.adminListFilterMultiSelectChevron {
  justify-self: end;
  font-size: 12px;
  line-height: 1;
}

.adminListFilterMultiSelectField:focus-within {
  z-index: 95;
}

.adminListFilterMultiSelectTrigger:hover {
  border-color: color-mix(in srgb, var(--focus), transparent 42%);
}

.adminListFilterMultiSelectTrigger[aria-expanded="true"], .adminListFilterMultiSelectTrigger:focus-visible {
  border-color: var(--focus);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus), transparent 78%);
  outline: none;
}

.adminListFilterMultiSelectPopover {
  z-index: 96;
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  background: #fff;
  border-radius: 12px;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: min(294px, 100vw - 48px);
  max-height: min(420px, 100vh - 180px);
  padding: 12px;
  display: grid;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  box-shadow: 0 22px 52px #0f172a2e;
}

.adminListFilterMultiSelectTitle {
  color: var(--ink);
  margin-bottom: 8px;
  font-size: .88rem;
  font-weight: 750;
  line-height: 1.2;
}

.adminListFilterMultiSelectOptions {
  gap: 2px;
  min-height: 0;
  padding-block: 2px 8px;
  display: grid;
  overflow: auto;
}

.adminListFilterMultiSelectOption {
  min-height: 34px;
  color: color-mix(in srgb, var(--ink), transparent 12%);
  cursor: pointer;
  border-radius: 7px;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 6px 4px;
  font-size: .88rem;
  line-height: 1.2;
  display: grid;
}

.adminListFilterMultiSelectOptionText {
  min-width: 0;
  color: color-mix(in srgb, var(--ink), transparent 7%);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 650;
  overflow: hidden;
}

.adminListFilterMultiSelectOptionCount {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  background: color-mix(in srgb, var(--bg-2), white 56%);
  min-width: 24px;
  min-height: 22px;
  color: color-mix(in srgb, var(--muted), var(--ink) 18%);
  font-family: var(--font-mono);
  text-align: center;
  border-radius: 999px;
  padding: 2px 7px;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.35;
}

.adminListFilterMultiSelectOption:hover {
  background: color-mix(in srgb, var(--focus), white 94%);
}

.adminListFilterMultiSelectCheckbox {
  width: 16px;
  height: 16px;
  accent-color: var(--focus);
  cursor: pointer;
  margin: 0;
}

.adminListFilterMultiSelectApply {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 18%);
  background: var(--focus);
  color: #fff;
  cursor: pointer;
  border-radius: 8px;
  width: 100%;
  min-height: 36px;
  font-size: .88rem;
  font-weight: 750;
}

.adminListFilterMultiSelectApply:hover {
  background: color-mix(in srgb, var(--focus), #001f4f 10%);
}

.adminListFilterMultiSelectApply:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus), transparent 72%);
  outline: none;
}

.adminListFilterSearchIcon {
  z-index: 2;
  color: color-mix(in srgb, var(--muted), transparent 10%);
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
}

.adminListFilterFieldPeriod {
  grid-area: period;
  min-inline-size: 0;
  container-type: inline-size;
}

.adminListFilterPeriodIcon {
  z-index: 2;
  color: color-mix(in srgb, var(--muted), transparent 8%);
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 14px;
  transform: translateY(-50%);
}

.adminListFilterFieldPeriod > .label {
  max-width: 72px !important;
  left: 42px !important;
}

.adminListFilterDateRange {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
  display: grid;
}

.adminListFilterDateRangeCompact {
  --admin-list-filter-period-offset: 104px;
  max-width: 100%;
  min-height: 44px;
  padding: 0 0 0 var(--admin-list-filter-period-offset);
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: #fff;
  border-radius: 8px;
  align-items: center;
  gap: 0;
  transition: border-color .16s, box-shadow .16s, background .16s;
  display: flex;
  position: relative;
  overflow: visible;
  container-type: inline-size;
}

.adminListFilterDateRangeCompact .adminListFilterDateRangeField {
  z-index: 3;
  cursor: pointer;
  min-width: 0;
  position: absolute;
  top: 0;
  bottom: 0;
}

.adminListFilterDateRangeCompact .adminListFilterDateRangeFieldFrom {
  left: var(--admin-list-filter-period-offset);
  width: calc((100% - var(--admin-list-filter-period-offset)) / 2);
}

.adminListFilterDateRangeCompact .adminListFilterDateRangeFieldTo {
  width: calc((100% - var(--admin-list-filter-period-offset)) / 2);
  right: 0;
}

.adminListFilterDateRangeValue {
  width: 100%;
  min-width: 0;
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-self: stretch;
  align-items: center;
  font-size: .88rem;
  line-height: 1;
  display: grid;
  overflow: hidden;
}

.adminListFilterDateRangeEndpoint {
  background: none;
  border-radius: 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 3px;
  min-width: 0;
  min-height: 100%;
  padding: 0 12px;
  display: inline-flex;
}

.adminListFilterDateRangeEndpoint + .adminListFilterDateRangeEndpoint {
  border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 22%);
}

.adminListFilterDateRangeEndpointLabel {
  min-width: 0;
  max-width: 74px;
  color: color-mix(in srgb, var(--muted), var(--ink) 8%);
  letter-spacing: .04em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
  flex: 0 auto;
  font-size: .68rem;
  font-weight: 850;
  line-height: 1;
  overflow: hidden;
}

.adminListFilterDateRangeEndpointValue {
  min-width: 0;
  font-family: var(--font-mono);
  letter-spacing: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .82rem;
  font-weight: 700;
  line-height: 1;
  overflow: hidden;
}

.adminListFilterDateRangeEndpoint.isEmpty .adminListFilterDateRangeEndpointValue {
  color: color-mix(in srgb, var(--muted), white 3%);
  font-weight: 600;
}

@container (max-width: 190px) {
  .adminListFilterDateRangeEndpointLabel {
    display: none;
  }

  .adminListFilterDateRangeEndpoint {
    justify-content: center;
  }
}

@container (max-width: 310px) {
  .adminListFilterFieldPeriod > .label {
    display: none;
  }

  .adminListFilterDateRangeCompact {
    --admin-list-filter-period-offset: 44px;
  }
}

.adminListFilterDateRangeCompact .input {
  width: 100%;
  height: 100%;
  min-height: 44px;
  box-shadow: none;
  color: var(--ink);
  cursor: pointer;
  letter-spacing: 0;
  opacity: 0;
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
  font-size: .88rem;
}

.adminListFilterDateRangeCompact .input::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: 0;
  width: auto;
  height: auto;
  position: absolute;
  inset: 0;
}

.adminListFilterDateRangeCompact .input:focus {
  box-shadow: none;
}

.adminListFilterDateRangeCompact:focus-within {
  border-color: var(--focus);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus), transparent 78%);
}

:is(.adminListFilterDateRangeCompact:has(.adminListFilterDateRangeFieldFrom:focus-within) .adminListFilterDateRangeEndpoint:first-child, .adminListFilterDateRangeCompact:has(.adminListFilterDateRangeFieldFrom:hover) .adminListFilterDateRangeEndpoint:first-child, .adminListFilterDateRangeCompact:has(.adminListFilterDateRangeFieldTo:focus-within) .adminListFilterDateRangeEndpoint:last-child, .adminListFilterDateRangeCompact:has(.adminListFilterDateRangeFieldTo:hover) .adminListFilterDateRangeEndpoint:last-child) {
  background: color-mix(in srgb, var(--focus), white 93%);
}

.adminListFilterDateRangeSeparator {
  color: color-mix(in srgb, var(--muted), transparent 6%);
  font-size: .95rem;
  font-weight: 800;
  line-height: 1;
}

.adminListFilterFieldPerPage {
  grid-area: per-page;
}

.adminListFilterRowsField, .adminFilterFieldPerPage {
  min-width: 0;
}

.adminListFilterRowsField {
  grid-template-columns: auto minmax(72px, auto);
  justify-content: end;
  align-items: center;
  gap: 9px;
  min-width: 0;
  min-height: 44px;
  display: inline-grid;
  position: relative;
}

.adminListFilterRowsLabel {
  color: color-mix(in srgb, var(--muted), transparent 12%);
  white-space: nowrap;
  font-size: .82rem;
  font-weight: 650;
  line-height: 1.2;
}

.adminListFilterRowsField .listboxRoot {
  min-width: 0;
  position: relative;
}

.adminListFilterRowsField .listboxMenu {
  z-index: 80;
  width: max(100%, 96px);
  min-width: 96px;
  left: auto;
  right: 0;
}

.adminListFilterRowsField .listboxTrigger {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  min-height: 44px;
  box-shadow: none;
  background: #fff;
  border-radius: 8px;
  padding-inline: 13px 9px;
  font-size: .9rem;
}

.adminListFilterRowsField:focus-within {
  z-index: 70;
}

.adminListFilterAddFilterWrap {
  grid-area: add;
  place-self: stretch start;
  min-width: 0;
  position: relative;
}

.adminListFilterPinnedGrid.isExpanded .adminListFilterAddFilterWrap {
  grid-area: auto;
}

.adminListFilterAddFilterButton {
  border-color: color-mix(in srgb, var(--stroke), transparent 12%);
  min-width: 112px;
  height: 100%;
  min-height: 44px;
  color: var(--ink);
  white-space: nowrap;
  box-shadow: none;
  background: #fff;
  border-radius: 8px;
  gap: 6px;
  padding-inline: 14px;
}

.adminListFilterAddFilterButton > span {
  color: color-mix(in srgb, var(--ink), transparent 10%);
  font-size: .95rem;
  font-weight: 900;
  line-height: 1;
}

.adminListFilterAddFilterButton:hover {
  border-color: color-mix(in srgb, var(--focus), transparent 42%);
  background: color-mix(in srgb, var(--focus), white 96%);
}

.adminListFilterActionWrap {
  grid-area: add;
  place-self: stretch end;
  min-width: 0;
}

.adminListFilterActionButton {
  border-color: color-mix(in srgb, var(--stroke), transparent 12%);
  min-width: 112px;
  height: 100%;
  min-height: 44px;
  color: var(--ink);
  white-space: nowrap;
  box-shadow: none;
  background: #fff;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding-inline: 14px;
  display: inline-flex;
}

.adminListFilterActionButton:hover {
  border-color: color-mix(in srgb, var(--focus), transparent 42%);
  background: color-mix(in srgb, var(--focus), white 96%);
}

.adminListFilterAddFilterPopover {
  z-index: 90;
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: #fff;
  border-radius: 12px;
  width: min(302px, 100vw - 48px);
  padding: 8px;
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  box-shadow: 0 22px 52px #0f172a2e;
}

.adminListFilterAddFilterSearch {
  min-width: 0;
  margin: 0 0 6px;
  display: grid;
  position: relative;
}

.adminListFilterAddFilterSearch .input {
  border-color: color-mix(in srgb, var(--stroke), transparent 16%);
  min-height: 40px;
  box-shadow: none;
  border-radius: 8px;
  padding-left: 38px;
  font-size: .88rem;
}

.adminListFilterAddFilterSearchIcon {
  z-index: 1;
  color: color-mix(in srgb, var(--muted), transparent 14%);
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translateY(-50%);
}

.adminListFilterAddFilterOptions {
  grid-template-columns: minmax(0, 1fr);
  gap: 3px;
  max-height: min(360px, 100vh - 260px);
  display: grid;
  overflow: hidden auto;
}

.adminListFilterAddFilterOption {
  text-align: left;
  min-height: 39px;
  color: var(--ink);
  font: inherit;
  cursor: pointer;
  background: #fff;
  border: 0;
  border-radius: 7px;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 8px 9px;
  display: grid;
}

.adminListFilterAddFilterOption:hover {
  background: color-mix(in srgb, var(--focus), white 93%);
}

.adminListFilterAddFilterOption:focus-visible {
  background: color-mix(in srgb, var(--focus), white 93%);
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--focus), transparent 28%);
  outline: none;
}

.adminListFilterAddFilterOptionIcon {
  width: 24px;
  height: 24px;
  color: color-mix(in srgb, var(--muted), transparent 6%);
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.adminListFilterAddFilterOption:hover .adminListFilterAddFilterOptionIcon, .adminListFilterAddFilterOption:focus-visible .adminListFilterAddFilterOptionIcon {
  color: color-mix(in srgb, var(--focus), black 4%);
}

.adminListFilterAddFilterOptionLabel {
  min-width: 0;
  color: var(--ink);
  font-size: .86rem;
  font-weight: 700;
  line-height: 1.2;
}

.adminFilterClearField {
  min-width: 0;
}

.adminListFilterActiveFilters {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px 14px;
  min-width: 0;
  padding-bottom: 14px;
  display: grid;
}

.adminListFilterActiveFiltersLabel {
  color: color-mix(in srgb, var(--muted), var(--fg) 10%);
  white-space: nowrap;
  font-size: .86rem;
  font-weight: 600;
  line-height: 1.2;
}

.adminListFilterActiveFiltersBody {
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.adminListFilterActiveFilterChip {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 60%);
  background: color-mix(in srgb, var(--focus), white 91%);
  min-height: 32px;
  color: color-mix(in srgb, var(--focus), black 16%);
  font: inherit;
  cursor: pointer;
  appearance: none;
  border-radius: 7px;
  align-items: center;
  gap: 6px;
  padding: 0 8px 0 11px;
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.15;
  display: inline-flex;
}

.adminListFilterActiveFilterChip:hover {
  border-color: color-mix(in srgb, var(--focus), transparent 30%);
  background: color-mix(in srgb, var(--focus), white 86%);
}

.adminListFilterActiveFilterChip:focus-visible {
  border-color: color-mix(in srgb, var(--focus), transparent 20%);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus), transparent 78%);
  outline: none;
}

.adminListFilterActiveFilterChipLabel {
  color: color-mix(in srgb, var(--focus), black 8%);
  font-weight: 700;
}

.adminListFilterActiveFilterChipLabel:after {
  content: ":";
}

.adminListFilterActiveFilterChipValue {
  color: color-mix(in srgb, var(--focus), black 24%);
  font-weight: 800;
}

.adminListFilterActiveFilterChipRemove {
  background: color-mix(in srgb, var(--focus), white 80%);
  width: 17px;
  height: 17px;
  color: color-mix(in srgb, var(--focus), black 24%);
  border-radius: 999px;
  place-items: center;
  margin-left: 2px;
  font-size: .75rem;
  font-weight: 900;
  line-height: 1;
  display: inline-grid;
}

.adminListFilterActiveFiltersActions {
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: inline-flex;
}

.adminListFilterAutoApplyHint {
  color: var(--muted);
  white-space: nowrap;
  font-size: .82rem;
}

.adminListFilterClearButton {
  min-width: 0;
  min-height: 32px;
  color: color-mix(in srgb, var(--focus), black 10%);
  font: inherit;
  cursor: pointer;
  background: none;
  border: 0;
  justify-self: end;
  padding: 0 2px;
  font-size: .82rem;
  font-weight: 800;
}

.adminListFilterMetaRow {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding-top: 2px;
  display: grid;
}

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

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

.adminListFilterResultCount {
  box-sizing: border-box;
  color: color-mix(in srgb, var(--muted), var(--fg) 6%);
  padding-inline-start: 12px;
  font-size: .85rem;
  font-weight: 600;
  line-height: 1.2;
}

.adminListFilterMetaRowsControl {
  z-index: 40;
  justify-content: flex-end;
  min-width: 0;
  display: flex;
  position: relative;
}

.adminListFilterEmptyState {
  text-align: center;
  align-content: center;
  justify-items: center;
  gap: 18px;
  min-height: 430px;
  padding: 48px 20px;
  display: grid;
}

.adminListFilterEmptyIcon {
  background: color-mix(in srgb, var(--focus), white 95%);
  width: 104px;
  height: 104px;
  color: color-mix(in srgb, var(--focus), black 8%);
  border-radius: 999px;
  place-items: center;
  display: inline-grid;
}

.adminListFilterEmptyCopy {
  gap: 7px;
  max-width: 460px;
  display: grid;
}

.adminListFilterEmptyCopy h2, .adminListFilterEmptyCopy p {
  margin: 0;
}

.adminListFilterEmptyCopy h2 {
  color: var(--fg);
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  line-height: 1.15;
}

.adminListFilterEmptyCopy p {
  color: var(--muted);
  font-size: .98rem;
}

.adminListFilterEmptyClear {
  min-width: 150px;
}

.adminSettingsBrowsePage .adminListFilterEmptyState {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: #fff;
  border-radius: 12px;
}

.adminListFilterClearButton:hover {
  color: color-mix(in srgb, var(--focus), black 24%);
  text-underline-offset: 3px;
  text-decoration: underline;
}

.adminListFilterClearButton:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus), transparent 78%);
  border-radius: 6px;
  outline: none;
}

.adminFinanceFilterActionField, .adminFilterActionField {
  justify-self: end;
  width: 108px;
  min-width: 0;
}

.adminFinanceCostControlActionField, .adminFilterActionField {
  justify-self: end;
  width: 108px;
}

.adminFinanceFilterActionField .btn, .adminFilterActionField .btn {
  width: 100%;
}

@container admin-filter-card (max-width: 1080px) {
  .adminListFilterPinnedGrid.adminListFilterGridVariantRegistry.adminListFilterPinnedCount3:not(.isExpanded) {
    grid-template-columns: minmax(240px, 1fr) minmax(150px, .62fr) minmax(230px, .9fr);
    grid-template-areas: "search state period";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantRegistry.adminListFilterPinnedCount4:not(.isExpanded) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "search state"
                         "family period";
  }

  .adminListFilterPinnedGrid {
    grid-template-columns: minmax(280px, 1fr) minmax(150px, .55fr) minmax(170px, .65fr);
    grid-template-areas: "search state family"
                         "period period add";
  }

  .adminListFilterPinnedGrid.isExpanded {
    grid-template-columns: minmax(280px, 1fr) minmax(150px, .55fr) minmax(170px, .65fr);
    grid-template-areas: "search state family"
                         "period period period";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantInbox {
    grid-template-columns: minmax(280px, 1fr) minmax(170px, .62fr) minmax(220px, .8fr);
    grid-template-areas: "search family period"
                         "add . .";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantInbox.isExpanded {
    grid-template-columns: minmax(280px, 1fr) minmax(170px, .62fr) minmax(220px, .8fr);
    grid-template-areas: "search family period";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantDocuments, .adminListFilterPinnedGrid.adminListFilterGridVariantDocuments:not(.isExpanded) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "search search"
                         "state family"
                         "period action";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantDocumentsInbox, .adminListFilterPinnedGrid.adminListFilterGridVariantDocumentsInbox:not(.isExpanded) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "search search"
                         "state family";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantLookup.adminListFilterPinnedCount2:not(.isExpanded) {
    grid-template-columns: minmax(0, 1fr) max-content;
    grid-template-areas: "search add";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantLookup.adminListFilterPinnedCount3:not(.isExpanded) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "search search"
                         "period add";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantDirectory, .adminListFilterPinnedGrid.adminListFilterGridVariantDirectory.adminListFilterPinnedCount2:not(.isExpanded) {
    grid-template-columns: minmax(240px, 1fr) minmax(180px, .58fr);
    grid-template-areas: "search state";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantDirectory.adminListFilterPinnedCount3:not(.isExpanded) {
    grid-template-columns: minmax(240px, 1fr) minmax(180px, .58fr) minmax(180px, .58fr);
    grid-template-areas: "search family state";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantQueue, .adminListFilterPinnedGrid.adminListFilterGridVariantQueue.adminListFilterPinnedCount2:not(.isExpanded) {
    grid-template-columns: minmax(220px, 320px) max-content;
    grid-template-areas: "state add";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantGovernance, .adminListFilterPinnedGrid.adminListFilterGridVariantGovernance:not(.isExpanded) {
    grid-template-columns: repeat(auto-fit, minmax(176px, 1fr));
    grid-template-areas: none;
  }
}

@container admin-filter-card (max-width: 680px) {
  .adminListFilterPinnedGrid.adminListFilterGridVariantRegistry.adminListFilterPinnedCount3:not(.isExpanded) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "search search"
                         "state period";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantRegistry.adminListFilterPinnedCount4:not(.isExpanded) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "search search"
                         "state family"
                         "period period";
  }

  .adminListFilterPinnedGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "search search"
                         "state family"
                         "period period"
                         "add add";
  }

  .adminListFilterAddFilterWrap {
    justify-self: start;
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantLookup .adminListFilterActionWrap {
    justify-self: stretch;
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantLookup .adminListFilterActionButton {
    width: 100%;
  }

  .adminListFilterPinnedGrid.isExpanded {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "search search"
                         "state family"
                         "period period";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantInbox {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "search search"
                         "family period"
                         "add add";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantInbox.isExpanded {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "search search"
                         "family period";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantDocuments, .adminListFilterPinnedGrid.adminListFilterGridVariantDocuments:not(.isExpanded), .adminListFilterPinnedGrid.adminListFilterGridVariantDocumentsInbox, .adminListFilterPinnedGrid.adminListFilterGridVariantDocumentsInbox:not(.isExpanded) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "search search"
                         "state family"
                         "period action";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantDocumentsInbox, .adminListFilterPinnedGrid.adminListFilterGridVariantDocumentsInbox:not(.isExpanded) {
    grid-template-areas: "search search"
                         "state family";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantLookup.adminListFilterPinnedCount2:not(.isExpanded), .adminListFilterPinnedGrid.adminListFilterGridVariantLookup.adminListFilterPinnedCount3:not(.isExpanded) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "search search"
                         "period period"
                         "add add";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantLookup.adminListFilterPinnedCount2:not(.isExpanded) {
    grid-template-areas: "search search"
                         "add add";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantDirectory, .adminListFilterPinnedGrid.adminListFilterGridVariantDirectory.adminListFilterPinnedCount2:not(.isExpanded) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "search state";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantDirectory.adminListFilterPinnedCount3:not(.isExpanded) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "search search"
                         "family state";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantQueue, .adminListFilterPinnedGrid.adminListFilterGridVariantQueue.adminListFilterPinnedCount2:not(.isExpanded) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "state add";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantGovernance, .adminListFilterPinnedGrid.adminListFilterGridVariantGovernance:not(.isExpanded) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: none;
  }

  .adminListFilterActiveFiltersActions {
    justify-content: space-between;
  }
}

@container admin-filter-card (max-width: 430px) {
  .adminFinanceFilterRowSingleField, .adminFinanceFilterRowTwoFields, .adminFinanceFilterRowDatesClear, .adminFinanceFilterRowSiteClear, .adminFinanceFilterRowStateDatesClear, .adminFilterSimpleRowSingleField, .adminFilterSimpleRowTwoFields, .adminFilterSimpleRowDatesClear, .adminFilterSimpleRowLookupClear, .adminFilterSimpleRowStateDatesClear {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminListFilterPinnedGrid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "search"
                         "state"
                         "family"
                         "period"
                         "add";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantRegistry.adminListFilterPinnedCount3:not(.isExpanded) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "search"
                         "state"
                         "period";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantRegistry.adminListFilterPinnedCount4:not(.isExpanded), .adminListFilterPinnedGrid.isExpanded {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "search"
                         "state"
                         "family"
                         "period";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantInbox {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "search"
                         "family"
                         "period"
                         "add";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantInbox.isExpanded {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "search"
                         "family"
                         "period";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantDocuments, .adminListFilterPinnedGrid.adminListFilterGridVariantDocuments:not(.isExpanded) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "search"
                         "state"
                         "family"
                         "period"
                         "action";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantDocumentsInbox, .adminListFilterPinnedGrid.adminListFilterGridVariantDocumentsInbox:not(.isExpanded) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "search"
                         "state"
                         "family";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantLookup.adminListFilterPinnedCount2:not(.isExpanded), .adminListFilterPinnedGrid.adminListFilterGridVariantLookup.adminListFilterPinnedCount3:not(.isExpanded) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "search"
                         "period"
                         "add";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantLookup.adminListFilterPinnedCount2:not(.isExpanded) {
    grid-template-areas: "search"
                         "add";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantDirectory, .adminListFilterPinnedGrid.adminListFilterGridVariantDirectory.adminListFilterPinnedCount2:not(.isExpanded) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "search"
                         "state";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantDirectory.adminListFilterPinnedCount3:not(.isExpanded) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "search"
                         "family"
                         "state";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantQueue, .adminListFilterPinnedGrid.adminListFilterGridVariantQueue.adminListFilterPinnedCount2:not(.isExpanded) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "state"
                         "add";
  }

  .adminListFilterPinnedGrid.adminListFilterGridVariantGovernance, .adminListFilterPinnedGrid.adminListFilterGridVariantGovernance:not(.isExpanded) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: none;
  }

  .adminListFilterAddFilterWrap, .adminListFilterActionWrap {
    justify-self: stretch;
  }

  .adminListFilterAddFilterButton, .adminListFilterActionButton {
    width: 100%;
  }

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

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

  .adminListFilterAddFilterPopover {
    width: min(100%, 100vw - 32px);
    left: 0;
    right: auto;
  }

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

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

  .adminListFilterDateRangeCompact {
    padding-left: 102px;
  }

  .adminListFilterDateRangeEndpointLabel {
    display: none;
  }

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

  .adminListFilterClearButton {
    justify-self: start;
  }

  .adminListFilterFieldPerPage, .adminFilterClearField, .adminFilterFieldPerPage {
    width: 100%;
    max-width: none;
  }

  .adminFinanceFilterActionField, .adminFilterActionField {
    justify-self: stretch;
    width: 100%;
  }
}

.adminFinanceInvoicesTable {
  table-layout: fixed;
}

.adminFinanceRegistryBody {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: #fff;
  border-radius: 12px;
  margin-top: 6px;
  overflow: visible;
}

.adminFinanceRegistryBody .adminListTableWrap {
  border-radius: 12px;
}

.adminFinanceRegistryBody .adminListTable thead th {
  background: #f8fafc;
  padding-block: 13px;
  font-size: .88rem;
  line-height: 1.2;
}

.adminFinanceRegistryBody .adminListTable tbody td {
  padding-block: 15px;
  font-size: .86rem;
}

.adminFinanceInvoicesColUpdated {
  width: 156px;
}

.adminFinanceInvoicesColInvoice {
  width: 172px;
}

.adminFinanceInvoicesColSupplier {
  width: 194px;
}

.adminFinanceInvoicesColInfo {
  width: 204px;
}

.adminFinanceInvoicesColDates {
  width: 190px;
}

.adminFinanceInvoicesColTotal {
  width: 118px;
}

.adminFinanceInvoicesColActions {
  width: 96px;
}

.adminFinanceInvoicesTable td {
  vertical-align: top;
  min-width: 0;
  transition: background-color .14s;
  overflow: visible;
}

.adminFinanceInvoicesTable th:last-child, .adminFinanceInvoicesTable td.adminFinanceRegistryActionsCell {
  z-index: 2;
  background: #fff;
  position: sticky;
  right: 0;
}

.adminFinanceInvoicesTable th:last-child {
  z-index: 3;
  background: #f8fafc;
}

.adminFinanceInvoicesTable tbody tr:hover, .adminFinanceInvoicesTable tbody tr:focus-within {
  background: none;
}

.adminFinanceInvoicesTable tbody tr:hover > td, .adminFinanceInvoicesTable tbody tr:focus-within > td {
  background-color: color-mix(in srgb, var(--focus), white 96%);
}

.adminFinanceInvoicesUpdatedAt {
  flex-wrap: wrap;
  gap: 0 .35em;
  line-height: 1.25;
  display: inline-flex;
}

.adminFinanceInvoicesUpdatedAtDate, .adminFinanceInvoicesUpdatedAtTime {
  white-space: nowrap;
}

:is(.adminFinanceInvoicesTable td.adminFinanceRegistryActionsCell:has(.adminUsersMenu), .adminFinanceInvoicesTable td.adminFinanceRegistryActionsCell:has(.adminUsersMenuFloating)) {
  z-index: 8;
}

.adminFinanceRegistryActionsCell {
  text-align: right;
  width: 96px;
  min-width: 96px;
  vertical-align: middle !important;
}

.adminFinanceRegistryActionsCell .adminFinanceRowActions {
  width: 100%;
}

.adminFinanceRegistryViewAction {
  justify-content: center;
  width: 60px;
  min-width: 60px;
  font-weight: 700;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.adminFinanceRegistryActionMenuSpacer {
  pointer-events: none;
  width: 28px;
  min-width: 28px;
  height: 32px;
  display: inline-flex;
}

.adminFinanceRegistryActionDialogCard {
  width: min(640px, 100vw - 32px);
}

.adminFinanceRegistryActionSummary {
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg-2), var(--bg) 30%);
  gap: 4px;
  padding: 10px 12px;
  display: grid;
}

.adminFinanceManualDuplicateCandidates {
  gap: 8px;
  max-height: 280px;
  padding: 2px;
  display: grid;
  overflow: auto;
}

.adminFinanceManualDuplicateCandidate {
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  cursor: pointer;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  display: grid;
}

.adminFinanceManualDuplicateCandidate:hover, .adminFinanceManualDuplicateCandidate.isSelected {
  border-color: color-mix(in srgb, var(--focus), transparent 36%);
  background: color-mix(in srgb, var(--focus), white 94%);
}

.adminFinanceManualDuplicateCandidate input {
  margin-top: 3px;
}

.adminFinanceManualDuplicateCandidateBody {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.adminFinanceRegistryInvoiceMeta {
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  min-width: 0;
  display: flex;
}

.adminFinanceRegistryDuplicateMarker {
  border: 1px solid color-mix(in srgb, var(--danger), white 18%);
  background: color-mix(in srgb, white, var(--danger) 8%);
  width: fit-content;
  max-width: max-content;
  min-height: 16px;
  color: color-mix(in srgb, var(--danger), black 10%);
  letter-spacing: .01em;
  white-space: nowrap;
  border-radius: 8px;
  justify-content: center;
  place-self: flex-start start;
  align-items: center;
  padding: 0 5px;
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
}

.adminFinanceRegistryAllocation {
  min-width: 0;
  display: block;
}

.adminFinanceRegistryAllocationBody {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.adminFinanceRegistryAllocationHint {
  max-width: 100%;
  display: inline-block;
}

.adminFinanceRegistryAllocationHint strong {
  -webkit-text-decoration: underline dotted color-mix(in srgb, var(--muted), var(--fg) 20%);
  text-decoration: underline dotted color-mix(in srgb, var(--muted), var(--fg) 20%);
  text-underline-offset: 2px;
}

.adminFinanceRegistryAllocationBody strong, .adminFinanceRegistryDatesCell strong, .adminFinanceRegistryTotalCell strong {
  line-height: 1.25;
}

.adminFinanceRegistryInfoBlock {
  flex-direction: column;
  gap: 2px;
  line-height: 1.2;
  display: flex;
}

.adminFinanceRegistryInfoBlock span {
  color: color-mix(in srgb, var(--fg), white 28%);
}

.adminFinanceRegistryAllocationBody .muted, .adminFinanceRegistryDatesCell .muted, .adminFinanceRegistryTotalCell .muted {
  line-height: 1.25;
}

.adminFinanceRegistryTotalCell strong, .adminFinanceRegistryTotalCell .muted {
  white-space: nowrap;
}

.adminFinanceInvoicesPager {
  justify-content: center;
  padding-top: 4px;
  display: flex;
}

.adminFinanceReviewGrid {
  grid-template-columns: minmax(340px, .8fr) minmax(460px, 1.2fr);
  align-items: start;
  gap: 16px;
  display: grid;
}

.adminFinanceReviewGrid > .card, .adminFinanceReviewEvidenceBody, .adminFinanceReviewForm, .adminFinanceDocumentSection, .adminFinancePreviewCard, .adminFinanceExtractionCard, .adminFinanceAllocationRow, .adminFinanceDuplicateItem, .adminFinanceLinkedSupplierCard, .adminFinanceDocumentButton, .adminFinanceReviewSummaryItem, .adminFinanceEvidenceMetaItem {
  gap: 14px;
  min-width: 0;
}

.adminFinanceReviewWorkspaceBody {
  scrollbar-width: none;
  -ms-overflow-style: none;
  gap: 10px;
  min-width: 0;
  display: grid;
}

.adminFinanceReviewWorkspaceBody::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.adminFinanceReviewSummaryStrip {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  align-items: stretch;
  gap: 8px;
  display: grid;
}

.adminFinanceReviewSummaryActions {
  flex-wrap: wrap;
  grid-column: 1 / -1;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 8px;
  display: flex;
}

.adminFinanceReviewTabs {
  z-index: 2;
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: linear-gradient(180deg, color-mix(in srgb, var(--bg), white 100%) 0%, color-mix(in srgb, var(--bg), white 99%) 86%, transparent 100%);
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 0 0 10px;
  display: flex;
  position: sticky;
  top: 0;
}

.adminFinanceReviewTab {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  border-radius: var(--radius);
  background: color-mix(in srgb, white, var(--bg) 10%);
  min-height: 40px;
  color: color-mix(in srgb, var(--text), var(--muted) 16%);
  font: inherit;
  cursor: pointer;
  justify-content: center;
  align-items: center;
  padding: 0 14px;
  font-weight: 580;
  transition: background-color .12s, border-color .12s, color .12s;
  display: inline-flex;
}

.adminFinanceReviewTab:hover {
  border-color: color-mix(in srgb, var(--focus), transparent 64%);
  background: color-mix(in srgb, var(--focus), white 98%);
}

.adminFinanceReviewTab.isActive {
  border-color: color-mix(in srgb, var(--focus), transparent 24%);
  background: color-mix(in srgb, var(--focus), white 92%);
  color: color-mix(in srgb, var(--focus), black 18%);
}

.adminFinanceReviewTabPanel {
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  display: grid;
}

.adminFinanceDiagnosticsTabs {
  z-index: auto;
  background: none;
  border-bottom: 0;
  padding: 0;
  position: static;
  top: auto;
}

.adminFinanceDiagnosticsStagePanel[hidden] {
  display: none;
}

.adminFinanceDiagnosticsPanel, .adminFinanceDiagnosticsStagePanel, .adminFinanceDiagnosticsPanel > .adminFinanceReviewSummaryGrid, .adminFinanceDiagnosticsStagePanel > .adminFinanceReviewSummaryGrid, .adminFinanceDiagnosticsStagePanel > .adminFinanceExtractionOverview, .adminFinanceDiagnosticsStagePanel > .adminFinanceDiagnosticsCardGrid {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.adminFinanceReviewUtilityRow {
  justify-content: flex-end;
  margin: -2px 0 2px;
  display: flex;
}

.adminFinanceReviewUtilityButton {
  border-color: color-mix(in srgb, var(--stroke), transparent 12%);
  background: color-mix(in srgb, white, var(--bg) 12%);
  min-height: 36px;
  color: color-mix(in srgb, var(--muted), var(--fg) 22%);
  padding: 0 12px;
}

.adminFinanceReviewUtilityButton:hover {
  border-color: color-mix(in srgb, var(--focus), transparent 54%);
  background: color-mix(in srgb, var(--focus), white 97%);
  color: color-mix(in srgb, var(--focus), black 12%);
}

.adminFinanceReviewUtilityButton.isActive {
  border-color: color-mix(in srgb, var(--focus), transparent 38%);
  background: color-mix(in srgb, var(--focus), white 94%);
  color: color-mix(in srgb, var(--focus), black 14%);
}

.adminFinanceReviewSections, .adminSectionDisclosures {
  gap: 14px;
  display: grid;
}

.adminFinanceReviewSection, .adminSectionDisclosure {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 6%);
  background: #fff;
  gap: 12px;
  padding: 12px 14px;
  display: grid;
}

.adminFinanceSectionHint, .adminFinanceReviewFieldHint {
  margin: 0;
}

.adminFinanceReviewSectionGrid, .adminSectionDisclosureGrid, .adminFinanceReviewSectionGrid.isTwoColumn, .adminSectionDisclosureGrid.isTwoColumn {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}

.adminFinanceReviewAttentionGrid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  display: grid;
}

.adminFinanceReviewAttentionCard {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  background: color-mix(in srgb, var(--bg-2), white 20%);
  gap: 6px;
  padding: 12px 14px;
  display: grid;
}

.adminFinanceReviewAttentionCard.isWarning {
  border-color: color-mix(in srgb, var(--warn), transparent 55%);
  background: color-mix(in srgb, var(--warn), white 96%);
}

.adminFinanceReviewAttentionCard.isDanger {
  border-color: color-mix(in srgb, var(--danger), transparent 50%);
  background: color-mix(in srgb, var(--danger), white 96%);
}

.adminFinanceReviewAttentionCard.isInfo {
  border-color: color-mix(in srgb, var(--ok), transparent 56%);
  background: color-mix(in srgb, var(--ok), white 96%);
}

.adminFinanceReviewSummaryGrid {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  display: grid;
}

.adminFinanceReviewSummaryItem, .adminFinanceEvidenceMetaItem {
  align-content: start;
  gap: 6px;
  display: grid;
}

.adminFinanceEvidenceMetaGrid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 8px;
  display: grid;
}

.adminFinanceFailureDetails {
  gap: 12px;
  min-width: 0;
  display: grid;
}

.adminFinanceFailureDetailsFacts {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
  gap: 8px;
  display: grid;
}

.adminFinanceFailureDetailsBlocks {
  gap: 8px;
  display: grid;
}

.adminFinanceFailureDetailItem, .adminFinanceFailureDetailBlock {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.adminFinanceFailureDetailBlock {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: var(--radius);
  background: #fffffffa;
  padding: 12px 14px;
}

.adminFinanceFailureDetailValue {
  overflow-wrap: anywhere;
  word-break: break-word;
  min-width: 0;
  font-weight: 600;
  line-height: 1.5;
}

.adminFinanceEvidenceChipRow {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.adminFinanceEvidenceMetaLine {
  margin: 0;
}

.adminFinanceDocumentSection {
  gap: 10px;
  display: grid;
}

.adminFinanceContextSection {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg), white 18%);
  padding: 12px;
}

.adminFinanceExtractionCard {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 6%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg-2), var(--bg) 24%);
  gap: 12px;
  padding: 12px 14px;
  display: grid;
}

.adminFinanceDiagnosticsPanel {
  gap: 16px;
  min-width: 0;
  display: grid;
}

.adminFinanceDiagnosticsPanel > .adminFinancePanelHead {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  padding-bottom: 4px;
}

.adminFinanceDiagnosticsPanel > .adminFinanceReviewSummaryGrid, .adminFinanceDiagnosticsStagePanel > .adminFinanceReviewSummaryGrid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr));
  gap: 12px;
}

.adminFinanceDiagnosticsPanel > .adminFinanceReviewSummaryGrid .adminFinanceReviewSummaryItem {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  border-radius: var(--radius);
  background: var(--bg-2);
  min-height: 92px;
  padding: 12px 14px;
}

.adminFinanceDiagnosticsPanel > .adminFinanceReviewSummaryGrid .adminFinanceReviewSummaryItem strong, .adminFinanceDiagnosticsPanel > .adminFinanceReviewSummaryGrid .adminFinanceReviewSummaryItem .pill {
  font-size: 16px;
  line-height: 1.2;
}

.adminFinanceExtractionCard.isCompleted {
  border-color: color-mix(in srgb, var(--ok), transparent 62%);
}

.adminFinanceExtractionCard.isFailed {
  border-color: color-mix(in srgb, var(--danger), transparent 58%);
  background: color-mix(in srgb, var(--danger), white 96%);
}

.adminFinanceExtractionHead {
  align-items: flex-start;
}

.adminFinanceExtractionOverview {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 62%);
  border-left: 4px solid color-mix(in srgb, var(--focus), transparent 22%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, var(--focus), white 96%);
  gap: 6px;
  padding: 14px 16px;
  display: grid;
}

.adminFinanceExtractionOverview.isWarning {
  border-color: color-mix(in srgb, var(--warn), transparent 56%);
  border-left-color: color-mix(in srgb, var(--warn), transparent 14%);
  background: color-mix(in srgb, var(--warn), white 96%);
}

.adminFinanceExtractionWarnings, .adminFinanceExtractionChecks, .adminFinanceExtractionHintList, .adminFinanceExtractionLineItems, .adminFinanceCorrectionList {
  gap: 8px;
  display: grid;
}

.adminFinanceExtractionWarning, .adminFinanceExtractionCheck, .adminFinanceExtractionHintCard, .adminFinanceExtractionLineItemCard, .adminFinanceExtractionFieldCard, .adminFinanceCorrectionCard {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: var(--radius);
  background: #fffffffa;
  gap: 6px;
  padding: 12px 14px;
  display: grid;
}

.adminFinanceExtractionWarning.isInfo, .adminFinanceExtractionCheck.isOk, .adminFinanceExtractionCheck.isPending {
  border-color: color-mix(in srgb, var(--focus), transparent 64%);
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--focus), transparent 18%);
}

.adminFinanceExtractionWarning.isWarning {
  border-color: color-mix(in srgb, var(--warn), transparent 56%);
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--warn), transparent 12%);
}

.adminFinanceExtractionWarning.isError, .adminFinanceExtractionCheck.isFail {
  border-color: color-mix(in srgb, var(--danger), transparent 56%);
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--danger), transparent 14%);
}

.adminFinanceContextSignalList, .adminFinanceContextLineMeta {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.adminFinanceContextReferenceList {
  gap: 8px;
  display: grid;
}

.adminFinanceContextReferenceCard {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 76%);
  background: color-mix(in srgb, var(--focus), white 97%);
  gap: 8px;
  padding: 10px 12px;
  display: grid;
}

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

.adminFinanceExtractionMeta {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminFinanceExtractionSnippet {
  margin: 0;
  line-height: 1.45;
}

.adminFinanceCorrectionHead {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  display: flex;
}

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

.adminFinanceExtractionTechnical {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, white, var(--bg) 6%);
  gap: 12px;
  padding: 16px;
  display: grid;
}

.adminFinanceExtractionTechnicalSummary {
  cursor: pointer;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  list-style: none;
  display: flex;
}

.adminFinanceExtractionTechnicalSummary::-webkit-details-marker {
  display: none;
}

.adminFinanceSubTitle {
  font-size: 18px;
  line-height: 1.18;
}

.adminFinanceDocumentList {
  gap: 8px;
  display: grid;
}

.adminFinanceDocumentButton {
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  background: var(--bg);
  text-align: left;
  justify-items: start;
  gap: 2px;
  padding: 10px 12px;
  display: grid;
}

.adminFinanceDocumentButton.isActive {
  border-color: color-mix(in srgb, var(--focus), transparent 20%);
  background: color-mix(in srgb, var(--focus), white 95%);
}

.adminFinancePreviewViewport {
  background: none;
  flex: auto;
  grid-template-rows: auto minmax(0, 1fr);
  align-content: start;
  gap: 0;
  min-height: 0;
  display: grid;
  overflow: hidden;
}

.adminFinancePreviewViewport.isPdf {
  background: none;
}

.adminFinancePreviewToolbar {
  z-index: 1;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  background: linear-gradient(#fffffff0 0%, #ffffffd6 78%, #fff0 100%);
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 6px 4px 8px;
  display: grid;
  position: sticky;
  top: 0;
}

.adminFinancePreviewToolbarPage {
  min-height: 38px;
  color: color-mix(in srgb, var(--text), white 18%);
  white-space: nowrap;
  justify-self: start;
  font-size: 13px;
  font-weight: 600;
  line-height: 38px;
}

.adminFinancePreviewToolbarActions {
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.adminFinancePreviewToolbarButton {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-radius: var(--radius);
  width: 38px;
  min-width: 38px;
  height: 38px;
  color: var(--text);
  cursor: pointer;
  background: #ffffffbd;
  justify-content: center;
  align-items: center;
  transition: border-color .12s, background-color .12s, color .12s;
  display: inline-flex;
}

.adminFinancePreviewToolbarButton:hover {
  border-color: color-mix(in srgb, var(--focus), transparent 54%);
  background: #fffffff5;
}

.adminFinancePreviewToolbarButton:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 18%);
  outline-offset: 2px;
}

.adminFinancePreviewToolbarButton[disabled] {
  cursor: default;
  color: color-mix(in srgb, var(--muted), white 10%);
  border-color: color-mix(in srgb, var(--stroke), transparent 22%);
  background: #ffffff8f;
}

.adminFinancePreviewToolbarIcon {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 16px;
  height: 16px;
}

.adminFinancePreviewToolbarValue {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-radius: var(--radius);
  min-height: 38px;
  color: color-mix(in srgb, var(--text), white 34%);
  white-space: nowrap;
  background: #ffffff9e;
  flex: none;
  justify-content: center;
  align-items: center;
  padding: 0 12px;
  font-size: 13px;
  font-weight: 600;
  line-height: 38px;
  display: inline-flex;
}

.adminFinancePreviewToolbarModeButton {
  font: inherit;
  cursor: pointer;
  transition: border-color .12s, background-color .12s, color .12s;
}

.adminFinancePreviewToolbarModeButton:hover {
  border-color: color-mix(in srgb, var(--focus), transparent 46%);
  color: var(--text);
  background: #fffffff0;
}

.adminFinancePreviewToolbarModeButton:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 18%);
  outline-offset: 2px;
}

.adminFinancePreviewScrollSurface {
  scrollbar-width: none;
  -ms-overflow-style: none;
  height: 100%;
  min-height: 0;
  overflow: auto;
}

.adminFinancePreviewScrollSurface::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.adminFinancePreviewScrollSurface.isPannable {
  cursor: grab;
}

.adminFinancePreviewScrollSurface.isPanning {
  cursor: grabbing;
}

.adminFinancePreviewCanvas {
  background: #fff;
  justify-content: center;
  align-items: flex-start;
  min-width: 100%;
  padding: 0;
  display: flex;
}

.adminFinancePreviewCanvas.isPannable {
  justify-content: flex-start;
}

.adminFinancePreviewFrame, .adminFinancePreviewImage {
  border: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  display: block;
}

.adminFinancePreviewPdfPage {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  background: #fff;
  width: 100%;
  max-width: none;
  height: auto;
  display: block;
  box-shadow: 0 10px 28px #2721141f;
}

.adminFinancePreviewPdfPage.isFitWidth, .adminFinancePreviewPdfPage.isZoom-100 {
  width: 100%;
}

.adminFinancePreviewPdfPage.isZoom-75 {
  width: 75%;
}

.adminFinancePreviewPdfPage.isZoom-125 {
  width: 125%;
}

.adminFinancePreviewPdfPage.isZoom-150 {
  width: 150%;
}

.adminFinancePreviewPdfPage.isZoom-175 {
  width: 175%;
}

.adminFinancePreviewPdfPage.isZoom-200 {
  width: 200%;
}

.adminFinancePreviewPdfPage.isZoom-225 {
  width: 225%;
}

.adminFinancePreviewImage {
  object-fit: contain;
  width: 100%;
  max-height: 640px;
}

.adminFinancePreviewFallback {
  text-align: center;
  justify-content: center;
  align-items: center;
  min-height: 220px;
  padding: 20px;
  display: flex;
}

.adminFinanceReviewFormGrid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  align-items: start;
  gap: 10px;
  display: grid;
}

.adminFinanceReviewFieldShell {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg), white 22%);
  padding: 10px 12px;
}

.adminFinanceReviewFieldShell.isWarning {
  border-color: color-mix(in srgb, var(--warn), transparent 50%);
  background: color-mix(in srgb, var(--warn), white 97%);
}

.adminFinanceReviewFieldShell.isDanger {
  border-color: color-mix(in srgb, var(--danger), transparent 48%);
  background: color-mix(in srgb, var(--danger), white 97%);
}

.adminFinanceReviewFieldShell.isDanger .input, .adminFinanceReviewFieldShell.isDanger .textarea {
  border-color: color-mix(in srgb, var(--danger), transparent 45%);
  background: color-mix(in srgb, white, var(--bg) 10%);
}

.adminFinanceReviewFieldShell.isInferredMismatch {
  border-color: color-mix(in srgb, var(--danger), transparent 48%);
  background: color-mix(in srgb, var(--danger), white 97%);
}

.adminFinanceReviewFieldShell.isInferredMismatch .input {
  border-color: color-mix(in srgb, var(--danger), transparent 45%);
  background: color-mix(in srgb, white, var(--bg) 10%);
}

.adminFinanceReviewDueDateFieldShell {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
}

.adminFinanceReviewDueDateFieldMain {
  align-content: start;
  gap: 8px;
  display: grid;
}

.adminFinanceReviewDueDateShortcutStack {
  grid-template-rows: repeat(3, minmax(0, 1fr));
  align-self: stretch;
  gap: 4px;
  display: grid;
}

.adminFinanceReviewDueDateShortcutButton {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: color-mix(in srgb, white, var(--bg) 6%);
  min-block-size: 0;
  inline-size: 34px;
  min-inline-size: 34px;
  color: inherit;
  font: inherit;
  cursor: pointer;
  border-radius: 10px;
  padding: 0;
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
  transition: border-color .12s, background .12s, transform .12s;
}

.adminFinanceReviewDueDateShortcutButton:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--focus), transparent 42%);
  background: color-mix(in srgb, var(--focus), white 96%);
}

.adminFinanceReviewDueDateShortcutButton:active:not(:disabled) {
  transform: translateY(1px);
}

.adminFinanceReviewDueDateShortcutButton:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 28%);
  outline-offset: 2px;
}

.adminFinanceReviewDueDateShortcutButton:disabled {
  opacity: .48;
  cursor: not-allowed;
}

.adminFinanceReviewFieldHeader {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.adminFinanceReviewFieldMeta {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  min-width: 0;
  display: inline-flex;
}

.adminFinanceReviewFieldTag, .adminFinanceReviewReasonChip {
  cursor: default;
  -webkit-user-select: none;
  user-select: none;
}

.adminFinanceReviewFieldTagDot {
  background: currentColor;
  border-radius: 999px;
  flex: none;
  width: 6px;
  height: 6px;
}

.adminFinanceReviewFieldTag--info {
  background: color-mix(in srgb, var(--focus), white 94%);
  color: color-mix(in srgb, var(--focus), black 20%);
}

.adminFinanceReviewFieldTag--warning, .adminFinanceReviewReasonChip.isWarning {
  background: color-mix(in srgb, var(--warn), white 91%);
  color: color-mix(in srgb, var(--warn), black 24%);
}

.adminFinanceReviewFieldTag--danger, .adminFinanceReviewReasonChip.isDanger, .adminFinanceReviewReasonChip.isConfidenceUnreliable {
  background: color-mix(in srgb, var(--danger), white 90%);
  color: color-mix(in srgb, var(--danger), black 20%);
}

.adminFinanceReviewReasonChip.isConfidenceVeryHigh {
  background: color-mix(in srgb, var(--success), white 90%);
  color: color-mix(in srgb, var(--success), black 26%);
}

.adminFinanceReviewReasonChip.isConfidenceHigh {
  color: #0c5c56;
  background: #e9f3f2;
}

.adminFinanceReviewReasonChip.isConfidenceMedium {
  background: color-mix(in srgb, var(--warn), white 88%);
  color: color-mix(in srgb, var(--warn), black 34%);
}

.adminFinanceReviewReasonChip.isConfidenceLow {
  color: #ab390b;
  background: #feeee3;
}

.adminFinanceReviewReasonChip {
  background: color-mix(in srgb, var(--bg-2), white 45%);
  color: color-mix(in srgb, var(--muted), black 12%);
}

.adminFinanceReviewReasonChip.isInfo {
  background: color-mix(in srgb, var(--focus), white 94%);
  color: color-mix(in srgb, var(--focus), black 20%);
}

.adminFinanceParsingConfidencePanel {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 6%);
  border-radius: var(--radius);
  background: var(--bg);
  gap: 16px;
  width: 100%;
  min-width: 0;
  padding: 14px 16px;
  display: grid;
}

.adminFinanceParsingConfidenceHeader {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding-bottom: 12px;
  display: grid;
}

.adminFinanceParsingConfidenceTitle {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.adminFinanceParsingConfidenceTitle span {
  color: var(--muted);
  font-size: 13px;
}

.adminFinanceParsingConfidenceStatus {
  white-space: nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminFinanceParsingConfidenceStatus strong {
  font-size: 18px;
}

.adminFinanceParsingConfidenceReasons {
  min-width: 0;
}

.adminFinanceParsingConfidenceSection {
  gap: 10px;
  min-width: 0;
  display: grid;
}

.adminFinanceParsingConfidenceSectionHead {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
  display: grid;
}

.adminFinanceParsingConfidenceSectionHead p {
  margin: 4px 0 0;
  line-height: 1.4;
}

.adminFinanceParsingConfidenceCount {
  border-color: color-mix(in srgb, var(--stroke), transparent 12%);
  background: color-mix(in srgb, var(--bg-2), var(--focus) 3%);
  color: var(--muted);
}

.adminFinanceDiagnosticsConfidenceList {
  gap: 0;
  display: grid;
}

.adminFinanceDiagnosticsConfidenceGroups {
  gap: 14px;
  margin-top: 12px;
  display: grid;
}

.adminFinanceDiagnosticsConfidenceGroup {
  gap: 6px;
  display: grid;
}

.adminFinanceDiagnosticsConfidenceGroup h4 {
  color: var(--muted);
  letter-spacing: 0;
  text-transform: uppercase;
  margin: 0;
  font-size: 12px;
  font-weight: 800;
}

.adminFinanceDiagnosticsConfidenceRow {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  grid-template-columns: minmax(0, 1fr) auto;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 0;
  display: grid;
}

.adminFinanceDiagnosticsConfidenceRow > .adminFinanceExtractionMeta {
  white-space: nowrap;
  justify-content: flex-end;
}

.adminFinanceDiagnosticsConfidenceRow:first-child {
  border-top: 0;
  padding-top: 0;
}

.adminFinanceDiagnosticsConfidenceMain {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.adminFinanceDiagnosticsConfidenceValue {
  color: var(--muted);
  overflow-wrap: anywhere;
  font-size: 13px;
  line-height: 1.35;
}

.adminFinanceDiagnosticsConfidenceDisclosure {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  margin-top: 14px;
  padding-top: 12px;
}

.adminFinanceDiagnosticsConfidenceDisclosure summary {
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  font-weight: 800;
  list-style: none;
  display: flex;
}

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

.adminFinanceDiagnosticsConfidenceDisclosure summary:after {
  color: var(--muted);
  content: "+";
  margin-left: 10px;
  font-weight: 900;
}

.adminFinanceDiagnosticsConfidenceDisclosure[open] summary:after {
  content: "-";
}

.adminRolesWorkspaceV2 {
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) !important;
}

.adminRolesRoleSelectorStrip {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 6%);
  border-radius: calc(var(--radius) + 2px);
  background: #fff;
  align-self: start;
  gap: 9px;
  padding: 10px 12px 12px;
  display: grid;
}

.adminRolesRoleSelectorStrip .adminRolesRailHeader {
  align-items: center;
}

.adminRolesRoleSelectorStrip .adminRolesRailHeader .adminFinancePanelTitle {
  margin: 2px 0 0;
  font-size: 17px;
  line-height: 1.2;
}

.adminRolesRoleSelectorStrip .adminRolesListItem {
  border-radius: var(--radius);
  min-height: 56px;
  box-shadow: none;
  background: #fff;
  align-content: center;
  gap: 5px;
  padding: 9px 12px;
  position: relative;
  transform: none;
}

.adminRolesRoleSelectorStrip .adminRolesListItem:hover {
  background: color-mix(in srgb, var(--focus), white 98%);
  transform: none;
}

.adminRolesRoleSelectorStrip .adminRolesListItem.isActive:after {
  content: "";
  background: color-mix(in srgb, var(--focus), black 4%);
  border-radius: 999px;
  width: 8px;
  height: 8px;
  position: absolute;
  top: 9px;
  right: 9px;
}

.adminRolesRoleSelectorStrip .adminRolesListItemHeader {
  align-items: flex-start;
  gap: 8px;
}

.adminRolesRoleSelectorStrip .adminRolesListItemTitleWrap, .adminRolesRoleSelectorStrip .adminRolesListItemTitle, .adminRolesRoleSelectorStrip .adminRolesOverviewPills .pill {
  min-width: 0;
}

.adminRolesRoleSelectorStrip .adminRolesListItemTitle, .adminRolesRoleSelectorStrip .mono {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.adminRolesRoleSelectorStrip .adminRolesOverviewPills {
  flex-wrap: nowrap;
  gap: 6px;
  padding-top: 0;
}

.adminRolesRoleSelectorStrip .adminAccessPillWrap .pill, .adminRolesRoleSelectorStrip .adminRolesOverviewPills .pill {
  min-height: 24px;
  padding: 3px 8px;
  font-size: 12px;
}

.adminRolesRoleSelectorStrip .adminRolesOverviewPills .pill {
  text-overflow: ellipsis;
  white-space: nowrap;
  justify-content: flex-start;
  max-width: 100%;
  overflow: hidden;
}

.adminRolesSelectedOverview {
  border-radius: calc(var(--radius) + 2px);
  gap: 10px;
  padding: 11px 12px;
}

.adminRolesSelectedHeader {
  align-items: center;
}

.adminRolesProtectedNotice {
  border-radius: var(--radius);
  padding: 7px 9px;
}

.adminRolesSelectedOverview .adminRolesImpactStats {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 7px;
}

.adminRolesImpactStats button {
  border-radius: var(--radius);
  min-height: 54px;
  box-shadow: none;
  background: #fff;
  padding: 8px 10px;
}

.adminRolesImpactStats span {
  font-size: 11px;
}

.adminRolesImpactWarnings {
  border: 1px solid color-mix(in srgb, var(--danger), transparent 76%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--danger), white 97%);
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  display: flex;
}

.adminRolesImpactWarnings > strong {
  color: color-mix(in srgb, var(--danger), black 18%);
  flex: none;
  font-size: 12px;
}

.adminRolesImpactWarnings ul {
  flex-wrap: wrap;
  flex: auto;
  gap: 0;
  display: flex;
}

.adminRolesImpactWarnings li {
  border-left: 1px solid color-mix(in srgb, var(--danger), transparent 78%);
  min-height: 24px;
  padding: 2px 10px;
  font-size: 12px;
  line-height: 1.35;
}

.adminRolesToggle {
  background: #fff;
  min-height: 40px;
  padding: 8px 10px;
}

.adminRolesPageSection {
  border-radius: calc(var(--radius) + 2px);
  gap: 12px;
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 6%) !important;
  background: #fff !important;
  padding: 12px !important;
}

.adminRolesPageSection > .adminSectionDisclosureToggle {
  align-items: flex-start;
}

.adminRolesPageSection > .adminSectionDisclosureBody {
  gap: 12px;
  padding: 0 !important;
}

.adminRolesPermissionsHead {
  align-items: center;
}

.adminRolesPermissionsStats {
  justify-content: flex-start;
}

.adminRolesPermissionsStats button {
  background: #fff;
  min-height: 32px;
}

.adminRolesPermissionsStats button:first-child {
  border-color: color-mix(in srgb, var(--focus), transparent 58%);
  background: color-mix(in srgb, var(--focus), white 96%);
  color: color-mix(in srgb, var(--focus), black 12%);
}

.adminRolesPermissionsStats button:nth-child(3) {
  border-color: color-mix(in srgb, var(--warning), transparent 56%);
  color: color-mix(in srgb, var(--warning), black 28%);
}

.adminRolesPermissionsStats button:nth-child(4) {
  border-color: color-mix(in srgb, var(--danger), transparent 58%);
  color: color-mix(in srgb, var(--danger), black 18%);
}

.adminRolesQuickFilters .adminRoleActionBtn {
  min-height: 32px;
  padding: 6px 10px;
}

.adminRolesMatrixToolbarControls {
  gap: 8px;
}

.adminRolesModuleGrid {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 6%);
  border-radius: calc(var(--radius) + 2px);
  background: #fff;
  gap: 0;
  overflow: hidden;
}

.adminRolesModuleSummary .adminSectionDisclosureToggleMain {
  align-items: center;
}

.adminRolesModuleSummary .adminSectionDisclosureToggleText {
  align-items: center;
  gap: 10px;
  display: flex;
}

.adminRolesModuleTitleRow {
  align-items: center;
}

.adminRolesModuleSummary .adminRolesModuleEyebrow {
  letter-spacing: 0;
  text-transform: none;
  color: var(--ink);
  font-size: 13px;
}

.adminRolesModuleSummary .adminRolesModuleTitle {
  font-family: var(--font-sans);
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.adminRolesModuleSummary .adminSectionDisclosureSummary {
  text-align: right;
  white-space: nowrap;
  text-overflow: clip;
  flex: none;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  padding-left: 0;
  font-size: 12px;
  line-height: 1.25;
  display: inline-flex;
  overflow: visible;
}

.adminRolesModuleDetails .adminRolesModuleCard {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  padding: 0;
}

.adminRolesDangerZone {
  border-color: color-mix(in srgb, var(--danger), transparent 52%);
  background: color-mix(in srgb, var(--danger), white 98%);
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 12px;
  display: grid;
}

@media (max-width: 900px) {
  .adminRolesSelectedOverview .adminRolesImpactStats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

@media (max-width: 760px) {
  .adminRolesRoleSelectorStrip {
    padding: 10px;
  }

  .adminRolesRoleSelectorStrip .adminRolesRailHeader {
    align-items: stretch;
  }

  .adminRolesRoleSelectorStrip .adminRolesRailHeader .btn {
    width: 100%;
  }

  .adminRolesRoleSelectorStrip .adminRolesList {
    scrollbar-width: none;
    scroll-snap-type: x proximity;
    gap: 8px;
    margin-inline: -10px;
    padding: 0 10px 2px;
    display: flex;
    overflow-x: auto;
  }

  .adminRolesRoleSelectorStrip .adminRolesList::-webkit-scrollbar {
    display: none;
  }

  .adminRolesRoleSelectorStrip .adminRolesListItem {
    scroll-snap-align: start;
    flex: 0 0 min(82vw, 300px);
  }

  .adminRolesSelectedHeader, .adminRolesImpactWarnings, .adminRolesDangerZone {
    align-items: stretch;
  }

  .adminRolesImpactWarnings {
    display: grid;
  }

  .adminRolesImpactWarnings ul {
    gap: 5px;
    display: grid;
  }

  .adminRolesImpactWarnings li {
    border-left: 0;
    padding: 0;
  }

  .adminRolesMatrixToolbarControls > input.input, .adminRolesMatrixToolbarControls > .adminRolesMatrixSelect, .adminRolesMatrixToolbarControls > .adminRoleActionBtn {
    flex: 100%;
    max-width: none;
  }

  .adminRolesModuleSummary, .adminRolesModuleSummary .adminSectionDisclosureSummary {
    text-align: left;
    white-space: normal;
    align-items: flex-start;
  }

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

  .adminRolesToggle {
    align-items: flex-start;
    width: 100%;
  }

  .adminRolesToggle span {
    white-space: normal;
    min-width: 0;
    line-height: 1.35;
  }

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

  .adminFinanceParsingConfidenceStatus, .adminFinanceDiagnosticsConfidenceRow > .adminFinanceExtractionMeta {
    justify-content: flex-start;
  }

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

.adminFinanceReviewFieldPrimary {
  grid-column: span 2;
}

.adminFinanceReviewSheet {
  gap: 18px;
}

.adminFinanceReviewSheet .muted {
  color: color-mix(in srgb, var(--muted), var(--fg) 6%);
}

.adminFinanceReviewSheet > .adminFinancePanelHead .adminFinancePanelTitle {
  font-size: 15px;
  line-height: 1.2;
}

.adminFinanceReviewSheet > .adminFinancePanelHead .adminFinanceSectionHint {
  max-width: 72ch;
}

.adminFinanceReviewSheet .adminFinanceReviewSections, .adminFinanceReviewSheet .adminSectionDisclosures {
  gap: 22px;
}

.adminFinanceReviewSheet .adminFinanceReviewSection, .adminFinanceReviewSheet .adminSectionDisclosure {
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 4%);
  background: none;
  padding: 18px 0 0;
}

.adminFinanceReviewSheet .adminFinanceReviewSection:first-child, .adminFinanceReviewSheet .adminSectionDisclosure:first-child {
  border-top: 0;
  padding-top: 0;
}

.adminFinanceReviewSectionToggle, .adminSectionDisclosureToggle {
  width: 100%;
  color: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 0;
  display: flex;
}

.adminFinanceReviewSectionToggle:hover .adminFinanceReviewSectionToggleGlyph, .adminSectionDisclosureToggle:hover .adminSectionDisclosureToggleGlyph {
  color: color-mix(in srgb, var(--focus), black 10%);
}

.adminFinanceReviewSectionToggle:focus-visible, .adminSectionDisclosureToggle:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 12%);
  outline-offset: 6px;
  border-radius: var(--radius);
}

.adminFinanceReviewSectionToggleMain, .adminSectionDisclosureToggleMain {
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.adminFinanceReviewSectionToggleGlyph, .adminSectionDisclosureToggleGlyph {
  width: 20px;
  height: 20px;
  color: color-mix(in srgb, var(--muted), var(--fg) 18%);
  flex: none;
  justify-content: center;
  align-items: center;
  margin-top: 1px;
  transition: color .12s;
  display: inline-flex;
}

.adminFinanceReviewSectionChevron, .adminSectionDisclosureChevron {
  fill: currentColor;
  width: 16px;
  height: 16px;
  transition: transform .12s;
}

.adminFinanceReviewSection.isCollapsed .adminFinanceReviewSectionChevron, .adminSectionDisclosure.isCollapsed .adminSectionDisclosureChevron {
  transform: rotate(-90deg);
}

.adminFinanceReviewSectionToggleText, .adminSectionDisclosureToggleText {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.adminFinanceReviewSection.isCollapsed .adminFinanceSectionHint, .adminSectionDisclosure.isCollapsed .adminFinanceSectionHint {
  display: none;
}

.adminFinanceReviewSectionSummary, .adminSectionDisclosureSummary {
  text-align: right;
  white-space: nowrap;
  text-overflow: ellipsis;
  flex: 0 42%;
  align-self: center;
  min-width: 0;
  padding-left: 12px;
  font-size: 15px;
  line-height: 1.4;
  overflow: hidden;
}

.adminFinanceReviewSection.isOpen .adminFinanceReviewSectionSummary, .adminSectionDisclosure.isOpen .adminSectionDisclosureSummary {
  display: none;
}

.adminFinanceReviewSectionBody, .adminSectionDisclosureBody {
  gap: 12px;
  padding: 10px 0 0 30px;
  display: grid;
}

.adminFinanceReviewSectionBody[hidden], .adminSectionDisclosureBody[hidden] {
  display: none !important;
}

.adminFinanceReviewSectionBodyNotes, .adminSectionDisclosureBodyNotes {
  padding-top: 2px;
}

.adminFinanceReviewPaymentBody {
  gap: 8px;
  padding-top: 6px;
}

.adminFinanceCostControlSection {
  gap: 12px;
  display: grid;
}

.adminFinanceCostControlDetailStack {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 22%);
  gap: 0;
  margin-top: 12px;
  padding-top: 14px;
  display: grid;
}

.adminFinanceCostControlSection + .adminFinanceCostControlSection {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  margin-top: 10px;
  padding-top: 18px;
}

.adminFinanceCostControlSection.isCollapsed {
  gap: 0;
}

.adminFinanceCostControlSectionToggle {
  width: 100%;
  color: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 0;
  display: flex;
}

.adminFinanceCostControlSection.isCollapsed .adminFinanceCostControlSectionToggle {
  border-radius: calc(var(--radius) + 6px);
  padding: 10px 8px;
  transition: background-color .12s, box-shadow .12s;
}

.adminFinanceCostControlSection.isCollapsed .adminFinanceCostControlSectionToggle:hover {
  background: color-mix(in srgb, var(--focus), white 97%);
}

.adminFinanceCostControlSectionToggle:hover .adminFinanceCostControlSectionToggleGlyph {
  color: color-mix(in srgb, var(--focus), black 10%);
}

.adminFinanceCostControlSectionToggle:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 12%);
  outline-offset: 6px;
  border-radius: var(--radius);
}

.adminFinanceCostControlSection.isCollapsed .adminFinanceCostControlSectionToggle:focus-visible {
  outline-offset: 2px;
}

.adminFinanceCostControlSectionToggleMain {
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.adminFinanceCostControlSectionToggleGlyph {
  width: 20px;
  height: 20px;
  color: color-mix(in srgb, var(--muted), var(--fg) 18%);
  flex: none;
  justify-content: center;
  align-items: center;
  margin-top: 1px;
  transition: color .12s;
  display: inline-flex;
}

.adminFinanceCostControlSectionToggleText {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.adminFinanceCostControlSectionSummary {
  min-width: 0;
  color: var(--fg);
  text-align: right;
  white-space: nowrap;
  text-overflow: ellipsis;
  flex: 0 42%;
  align-self: center;
  padding-left: 12px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  overflow: hidden;
}

.adminFinanceCostControlSectionBody {
  gap: 12px;
  padding: 2px 0 0 30px;
  display: grid;
}

.adminFinanceReviewSheet .adminFinanceReviewFieldShell, .adminFinanceReviewSheet .adminFinanceReviewReadOnlyCard {
  border-color: color-mix(in srgb, var(--stroke), transparent 18%);
  background: color-mix(in srgb, white, var(--bg) 9%);
}

.adminFinanceReviewSheet .adminFinanceReviewFieldShell.isInferredMismatch {
  border-color: color-mix(in srgb, var(--danger), transparent 48%);
  background: color-mix(in srgb, var(--danger), white 97%);
}

.adminFinanceReviewSheet .adminFinanceReviewFieldShell .label, .adminFinanceReviewSheet .adminFinanceReviewReadOnlyCard .label, .adminFinanceReviewSheet .adminFinanceSectionHint, .adminFinanceReviewSheet .adminFinanceReviewFieldHint, .adminFinanceReviewSheet .adminFinanceLookupHint {
  color: color-mix(in srgb, var(--muted), var(--fg) 10%);
}

.adminFinanceReviewNotesTextarea {
  min-height: 160px;
}

@media (max-width: 720px) {
  .adminFinanceReviewDueDateFieldShell {
    grid-template-columns: 1fr;
  }

  .adminFinanceReviewDueDateShortcutStack {
    grid-template-rows: none;
    grid-template-columns: repeat(3, minmax(0, auto));
    justify-content: start;
  }

  .adminFinanceReviewDueDateShortcutButton {
    min-block-size: 32px;
  }
}

.adminFinanceReviewReadOnlyCard {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: var(--radius);
  background: #fff;
  padding: 10px 12px;
}

.adminFinanceReviewReadOnlyCard.isWarning {
  border-color: color-mix(in srgb, var(--warn), transparent 50%);
  background: color-mix(in srgb, var(--warn), white 97%);
}

.adminFinanceReviewReadOnlyCard.isInfo {
  border-color: color-mix(in srgb, var(--focus), transparent 52%);
  background: color-mix(in srgb, var(--focus), white 97%);
}

.adminFinanceReviewReadOnlyCard.isDanger {
  border-color: color-mix(in srgb, var(--danger), transparent 48%);
  background: color-mix(in srgb, var(--danger), white 97%);
}

.adminFinanceReviewStaticValue {
  overflow-wrap: anywhere;
  min-width: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.28;
  display: block;
}

.adminFinanceReviewStaticMeta {
  margin: 0;
}

.adminFinanceReviewStaticNote {
  min-height: 44px;
  color: color-mix(in srgb, var(--fg), black 4%);
  white-space: pre-wrap;
  font-size: 15px;
  line-height: 1.5;
}

.adminFinanceReviewCandidates {
  gap: 8px;
  display: grid;
}

.adminFinanceReviewCandidatesSummary {
  cursor: pointer;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  list-style: none;
  display: flex;
}

.adminFinanceReviewCandidatesSummary::-webkit-details-marker {
  display: none;
}

.adminFinanceReviewCandidateList {
  gap: 8px;
  display: grid;
}

.adminFinanceReviewCandidateOption {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 58%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--focus), white 97%);
  text-align: left;
  justify-items: start;
  gap: 4px;
  padding: 10px 12px;
  display: grid;
}

.adminFinanceReviewCandidateOption:hover {
  border-color: color-mix(in srgb, var(--focus), transparent 30%);
  background: color-mix(in srgb, var(--focus), white 94%);
}

.adminFinanceReviewCandidateOption.isStatic {
  cursor: default;
}

.adminFinanceReviewCandidateOption.isStatic:hover {
  border-color: color-mix(in srgb, var(--focus), transparent 58%);
  background: color-mix(in srgb, var(--focus), white 97%);
}

.adminFinanceDiagnosticsCardGrid {
  grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
  gap: 12px;
  min-width: 0;
  display: grid;
}

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

.adminFinanceDiagnosticsCard {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 6%);
  border-radius: var(--radius);
  background: #fffffffa;
  gap: 10px;
  min-width: 0;
  padding: 14px 16px;
  display: grid;
  box-shadow: 0 8px 24px #11151b0a;
}

.adminFinanceDiagnosticsCardHead {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.adminFinanceDiagnosticsCardHead strong {
  overflow-wrap: anywhere;
  font-size: 15px;
  line-height: 1.3;
}

.adminFinanceDiagnosticsReasonList {
  gap: 8px;
  display: grid;
}

.adminFinanceDiagnosticsReasonListCompact {
  margin-top: 4px;
}

.adminFinanceDiagnosticsReasonItem {
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.adminFinanceDiagnosticsReasonBullet {
  background: color-mix(in srgb, var(--focus), white 24%);
  border-radius: 999px;
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
  margin-top: 7px;
}

.adminFinanceCompareStrip {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 68%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, var(--focus), white 97%);
  gap: 14px;
  padding: 16px;
  display: grid;
}

.adminFinanceCompareIntro {
  gap: 6px;
  display: grid;
}

.adminFinanceCompareIntro strong {
  max-width: 26ch;
}

.adminFinanceCompareIntro p {
  max-width: 54ch;
  margin: 0;
}

.adminFinanceCompareActions {
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminFinanceCompareActions:has( > :nth-child(4)):not(:has( > :nth-child(5))) {
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  justify-content: center;
  place-items: stretch stretch;
  gap: 10px 12px;
  width: min(100%, 540px);
  max-width: 540px;
  margin-inline: auto;
  display: grid;
}

.adminFinanceDiagnosticsStagePanel .adminFinanceCompareActions:has( > :nth-child(4)):not(:has( > :nth-child(5))) {
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  max-width: 100%;
}

.adminFinanceCompareActions:has( > :nth-child(4)):not(:has( > :nth-child(5))) > .btn {
  justify-content: center;
  width: 100%;
}

.adminFinanceDiagnosticsStagePanel .adminFinanceParserToolActions:has( > :nth-child(4)):not(:has( > :nth-child(5))) {
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
  display: flex;
}

.adminFinanceDiagnosticsStagePanel .adminFinanceParserToolActions:has( > :nth-child(4)):not(:has( > :nth-child(5))) > .adminFinanceCompareUtilityButton {
  flex: 180px;
  width: auto;
}

.adminFinanceDiagnosticsStagePanel .adminFinanceParserToolActions:has( > :nth-child(4)):not(:has( > :nth-child(5))) > .adminFinanceComparePrimaryButton {
  flex: 100%;
}

.adminFinanceCompareUtilityButton {
  min-height: 44px;
}

.adminFinanceComparePrimaryButton {
  min-height: 46px;
}

.adminFinanceCompareCard {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 62%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, var(--focus), white 98%);
  gap: 12px;
  padding: 14px 16px;
  display: grid;
}

.adminFinanceClassificationCompareGrid {
  align-items: start;
}

.adminFinanceDiagnosticsDiffValue {
  color: color-mix(in srgb, var(--focus), black 14%);
}

.adminFinanceCompareDiffList {
  gap: 8px;
  display: grid;
}

.adminFinanceCompareDiffRow {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  border-radius: var(--radius);
  background: color-mix(in srgb, white, var(--bg) 10%);
  gap: 4px;
  padding: 10px 12px;
  display: grid;
}

.adminFinanceCompareDiffValues {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminFinanceCompareDiffArrow {
  color: var(--muted);
}

.adminFinanceDiagnosticsPanel .adminFinanceCompactDetails {
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 4%);
  background: none;
  border-radius: 0;
  gap: 0;
  padding: 18px 0 0;
}

.adminFinanceDiagnosticsPanel .adminFinanceCompactDetails:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.adminFinanceDiagnosticsPanel .adminFinanceCompactDetailsSummary {
  border: 0;
  align-items: flex-start;
  gap: 16px;
  padding: 0;
}

.adminFinanceDiagnosticsDetailsSummary:hover .adminFinanceReviewSectionToggleGlyph {
  color: color-mix(in srgb, var(--focus), black 10%);
}

.adminFinanceDiagnosticsDetailsSummary:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 12%);
  outline-offset: 6px;
  border-radius: var(--radius);
}

.adminFinanceDiagnosticsDetailsBody {
  gap: 12px;
  padding: 10px 0 0 30px;
  display: grid;
}

.adminFinanceDiagnosticsPanel .adminFinanceCompactDetails[open] > .adminFinanceDiagnosticsDetailsSummary .adminFinanceReviewSectionSummary {
  display: none;
}

.adminFinanceDiagnosticsPanel .adminFinanceCompactDetails > .adminFinanceDiagnosticsDetailsSummary .adminFinanceReviewSectionChevron {
  transition: transform .12s;
}

.adminFinanceDiagnosticsPanel .adminFinanceCompactDetails[open] > .adminFinanceDiagnosticsDetailsSummary .adminFinanceReviewSectionChevron {
  transform: rotate(90deg);
}

.adminFinanceInlineAlert {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  background: color-mix(in srgb, var(--bg), white 22%);
  gap: 4px;
  padding: 10px 12px;
  display: grid;
}

.adminFinanceInlineAlert.isError {
  border-color: color-mix(in srgb, var(--danger), transparent 52%);
  background: color-mix(in srgb, var(--danger), white 97%);
}

.adminFinanceInlineAlert.isWarning {
  border-color: color-mix(in srgb, var(--warn), transparent 52%);
  background: color-mix(in srgb, var(--warn), white 97%);
}

.adminFinanceInlineAlert.isInfo {
  border-color: color-mix(in srgb, var(--focus), transparent 60%);
  background: color-mix(in srgb, var(--focus), white 98%);
}

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

.adminFinanceAllocationSummaryCard {
  min-height: 84px;
}

.adminFinanceAllocationSummaryPrimaryValue {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  display: inline-flex;
}

.adminFinanceAllocationSummaryInlineSecondary {
  color: color-mix(in srgb, var(--fg), var(--muted) 62%);
  font-size: .72em;
  font-weight: 600;
  line-height: 1.2;
}

.adminFinanceAllocationSummaryMetaInline {
  color: color-mix(in srgb, var(--fg), var(--muted) 62%);
  align-items: baseline;
  gap: 8px;
  margin: 2px 0 0;
  font-size: .94rem;
  line-height: 1.25;
  display: inline-flex;
}

.adminFinanceAllocationSummaryMetaInline strong {
  color: inherit;
  font-size: 1em;
  font-weight: 600;
}

.adminFinanceAllocationSurface {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, white, var(--bg) 8%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--stroke), transparent 28%);
  padding: 14px 16px;
}

.adminFinanceFuelCompanionTableWrap {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  border-radius: var(--radius);
  background: #fff;
  overflow: auto;
}

.adminFinanceFuelCompanionTable {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
  min-width: 880px;
}

.adminFinanceFuelCompanionTable th, .adminFinanceFuelCompanionTable td {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  text-align: left;
  vertical-align: top;
  padding: 10px 12px;
  font-size: 13px;
}

.adminFinanceFuelCompanionTable th {
  background: color-mix(in srgb, var(--bg-2), white 25%);
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--text-muted);
  font-size: 12px;
}

.adminFinanceFuelCompanionTable tbody tr:last-child td {
  border-bottom: none;
}

.adminFinanceAllocationSeedRow {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: color-mix(in srgb, var(--bg-2), white 30%);
  border-radius: var(--radius);
  gap: 10px;
  padding: 12px;
  display: grid;
}

.adminFinanceAllocationSuggestionPill {
  cursor: pointer;
}

.adminFinanceAllocationSeedDetails {
  gap: 0;
  padding: 0;
}

.adminFinanceAllocationSeedDetails > .adminFinanceCompactDetailsSummary {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 12px;
  min-height: 0;
  margin: 0;
  padding: 10px 14px;
  line-height: 1.2;
  display: grid;
}

.adminFinanceAllocationSeedDetails[open] > .adminFinanceCompactDetailsSummary {
  padding-bottom: 0;
}

.adminFinanceAllocationSeedDetails > .adminFinanceCompactDetailsSummary > span {
  align-items: center;
  min-height: 22px;
  margin: 0;
  padding: 0;
  line-height: 1.2;
  display: flex;
}

.adminFinanceAllocationSeedDetails > .adminFinanceDocumentSection {
  padding: 8px 14px 12px;
}

.adminFinanceAllocationModeCard {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: color-mix(in srgb, var(--bg-2), white 34%);
  border-radius: var(--radius);
  gap: 12px;
  padding: 12px;
  display: grid;
}

.adminFinanceAllocationLineSeedGrid {
  gap: 10px;
  display: grid;
}

.adminFinanceParsedLinesSurface[data-finance-history-flag-active="true"] .adminFinanceParsedLinesShowAllAction, .adminFinanceParsedLinesSurface:not([data-finance-history-flag-active="true"]) [data-finance-preview-overflow="true"] {
  display: none;
}

.adminFinanceSiteBulkTray {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, var(--bg-2), white 26%);
  gap: 12px;
  padding: 14px;
  display: grid;
}

.adminFinanceSiteBulkTray.isPending {
  border-color: color-mix(in srgb, var(--warn), transparent 52%);
  background: color-mix(in srgb, var(--warn), white 97%);
}

.adminFinanceSiteBulkTray.isReady {
  border-color: color-mix(in srgb, var(--focus), transparent 36%);
  background: color-mix(in srgb, var(--focus), white 97%);
}

.adminFinanceSiteBulkTrayHead {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.adminFinanceFuelBulkTrayActions {
  align-items: flex-start;
  gap: 10px;
}

.adminFinanceFuelBulkTrayActions > .btn, .adminFinanceFuelBulkTrayUtilities > .btn {
  font-size: 13px;
}

.adminFinanceFuelBulkTrayUtilities {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  display: flex;
}

.adminFinanceButtonUtility {
  color: var(--text-muted);
  background: color-mix(in srgb, white, var(--bg-2) 12%);
  padding: 7px 11px;
  font-size: 13px;
}

.adminFinanceButtonUtility:hover:not(:disabled) {
  color: var(--text);
  background: color-mix(in srgb, white, var(--bg-2) 22%);
}

.adminFinanceSiteBulkPresetSection {
  gap: 8px;
  display: grid;
}

.adminFinanceSiteBulkPresetGrid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  display: grid;
}

.adminFinanceSiteBulkPreset {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 70%);
  border-radius: var(--radius);
  text-align: left;
  background: #fff;
  justify-items: stretch;
  gap: 8px;
  padding: 12px;
  display: grid;
}

.adminFinanceSiteBulkPreset:hover {
  border-color: color-mix(in srgb, var(--focus), transparent 42%);
  background: color-mix(in srgb, var(--focus), white 98%);
}

.adminFinanceSiteBulkPreset:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 18%);
  outline-offset: 2px;
}

.adminFinanceSiteBulkPreset.isSelected {
  border-color: color-mix(in srgb, var(--focus), transparent 18%);
  background: color-mix(in srgb, var(--focus), white 96%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--focus), transparent 58%);
}

.adminFinanceSiteBulkPresetHead {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.adminFinanceSiteBulkPresetEvidence {
  gap: 6px;
  display: grid;
}

.adminFinanceSiteBulkTrayGrid {
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto;
  align-items: end;
  gap: 12px;
  display: grid;
}

.adminFinanceGeneralExpenseBulkTrayGrid {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr) auto;
}

.adminFinanceSiteBulkTrayField, .adminFinanceSiteBulkTrayEvidence, .adminFinanceSiteBulkTrayAction {
  min-width: 0;
}

.adminFinanceSiteBulkTrayEvidence {
  align-self: end;
  gap: 6px;
  display: grid;
}

.adminFinanceSiteBulkTrayAction {
  align-items: flex-end;
  display: flex;
}

.adminFinanceSiteBulkTrayAction > .btn {
  width: 100%;
}

.adminFinanceAllocationLineProgress {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.adminFinanceAllocationLineSeedCard {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 46%);
  border-radius: calc(var(--radius) + 1px);
  background: #fff;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 14px;
  display: flex;
}

.adminFinanceAllocationLineSeedCard.isSelected {
  border-color: color-mix(in srgb, var(--focus), transparent 10%);
  background: color-mix(in srgb, var(--focus), white 96%);
}

.adminFinanceAllocationLineSeedCardAdded {
  border-color: color-mix(in srgb, var(--ok), transparent 48%);
  background: color-mix(in srgb, var(--ok), white 97%);
}

.adminFinanceAllocationLineSeedCard > .adminFinanceStack {
  flex: auto;
  min-width: 0;
}

.adminFinanceAllocationLineSelect {
  color: var(--fg);
  font-size: inherit;
  font-weight: inherit;
  align-items: center;
  gap: 12px;
  width: fit-content;
  display: inline-flex;
}

.adminFinanceAllocationLineSelect input[type="checkbox"] {
  flex: none;
  margin: 0;
}

.adminFinanceAllocationLineSelect strong {
  color: var(--fg);
}

.adminFinanceAllocationLineSeedCard > .btn {
  align-self: center;
}

.adminFinanceFuelGroupCard {
  align-items: stretch;
}

.adminFinanceFuelGroupCardBody {
  gap: 12px;
}

.adminFinanceFuelGroupCardHead {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.adminFinanceFuelGroupIdentity {
  min-width: 0;
  display: block;
}

.adminFinanceFuelGroupHeading {
  align-items: flex-start;
}

.adminFinanceFuelGroupMetrics {
  gap: 10px;
}

.adminFinanceFuelGroupCardFooter {
  justify-content: flex-start;
  display: flex;
}

.adminFinanceFuelGroupToggle {
  appearance: none;
  color: var(--accent-strong);
  font: inherit;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  font-weight: 600;
}

.adminFinanceFuelGroupToggle:hover {
  text-decoration: underline;
}

.adminFinanceFuelGroupRows {
  gap: 10px;
  padding-top: 2px;
  display: grid;
}

.adminFinanceFuelGroupTableWrap {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  border-radius: calc(var(--radius) - 2px);
  background: color-mix(in srgb, var(--bg-2), white 56%);
  overflow-x: auto;
}

.adminFinanceFuelGroupTable {
  border-collapse: collapse;
  width: 100%;
  min-width: 760px;
  font-size: 12px;
  line-height: 1.35;
}

.adminFinanceFuelGroupTable th, .adminFinanceFuelGroupTable td {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 28%);
  vertical-align: middle;
  white-space: nowrap;
  padding: 8px 10px;
}

.adminFinanceFuelGroupTable thead th {
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--text-muted);
  text-align: left;
  background: color-mix(in srgb, white, var(--bg-2) 12%);
  font-size: 10px;
  font-weight: 600;
}

.adminFinanceFuelGroupTable tbody td {
  color: var(--text);
}

.adminFinanceFuelGroupTable th:nth-child(n+3), .adminFinanceFuelGroupTable td:nth-child(n+3) {
  text-align: right;
}

.adminFinanceFuelGroupTable th:first-child, .adminFinanceFuelGroupTable td:first-child {
  padding-left: 12px;
}

.adminFinanceFuelGroupTable th:last-child, .adminFinanceFuelGroupTable td:last-child {
  padding-right: 12px;
}

.adminFinanceFuelGroupTable tbody tr:last-child td {
  border-bottom: none;
}

.adminFinanceFuelGroupTable tfoot th, .adminFinanceFuelGroupTable tfoot td {
  color: var(--text);
  background: color-mix(in srgb, white, var(--bg-2) 10%);
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 20%);
  border-bottom: none;
  font-weight: 600;
}

.adminFinanceFuelGroupTable tfoot td:nth-child(2) {
  color: var(--text-muted);
  font-weight: 500;
}

@media (max-width: 640px) {
  .adminFinanceFuelGroupTable {
    min-width: 680px;
  }
}

.adminFinanceReviewAllocationBody {
  gap: 16px;
}

.adminFinanceCostControlSummaryBar {
  margin-bottom: 6px;
}

.adminFinanceCostControlHead {
  z-index: auto;
  position: static;
  top: auto;
}

.adminFinanceCostControlSummaryFrame {
  min-width: 0;
  display: block;
}

.adminFinanceCostControlSummaryShell {
  align-items: start;
  gap: 16px;
  display: grid;
}

.adminFinanceCostControlSummaryHeader {
  margin-bottom: 0;
}

.adminFinanceCostControlSummaryLayout {
  grid-template-columns: minmax(440px, .92fr) minmax(0, 1.08fr);
  align-items: start;
  gap: 16px;
  display: grid;
}

.adminFinanceCostControlSummaryLayout > * {
  align-self: start;
  min-width: 0;
}

.adminFinanceCostControlSummaryColumn {
  flex-direction: column;
  align-items: start;
  gap: 16px;
  display: flex;
}

.adminFinanceCostControlSummaryColumn > * {
  width: 100%;
}

.adminFinanceCostControlContextBlock {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 22%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, var(--focus), white 98%);
  gap: 10px;
  padding: 16px;
  display: grid;
}

.adminFinanceCostControlContextBlock.isCompact {
  gap: 8px;
  padding-block: 14px;
}

.adminFinanceCostControlContextBlock strong {
  font-size: 18px;
  line-height: 1.25;
}

.adminFinanceCostControlContextMeta {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.adminFinanceCostControlContextMeta span {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 20%);
  width: fit-content;
  max-width: 100%;
  color: color-mix(in srgb, var(--muted), var(--fg) 16%);
  background: #fff;
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 13px;
  line-height: 1.25;
  display: inline-flex;
}

.adminFinanceCostControlContextSecondary {
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  max-width: 48ch;
  margin: 0;
  display: -webkit-box;
  overflow: hidden;
}

.adminFinanceCostControlSummaryPanelCard {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  border-radius: calc(var(--radius) + 2px);
  background: #fff;
  gap: 14px;
  min-width: 0;
  padding: 16px;
  display: grid;
}

.adminFinanceCostControlBreakdownCard {
  border-color: color-mix(in srgb, var(--fg), transparent 52%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--stroke), transparent 36%);
  gap: 16px;
  padding: 18px 20px;
}

.adminFinanceCostControlSummaryPanelHead, .adminFinanceCostControlTotalHead {
  gap: 5px;
  display: grid;
}

.adminFinanceCostControlTotalAmount {
  font-size: 30px;
  line-height: 1.05;
}

.adminFinanceCostControlSourceRows {
  gap: 0;
  display: grid;
}

.adminFinanceCostControlSourceRow {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 34%);
  grid-template-columns: minmax(86px, 92px) minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px 10px;
  min-width: 0;
  padding: 10px 0;
  display: grid;
}

.adminFinanceCostControlSourceRow:first-child {
  border-top: 0;
  padding-top: 0;
}

.adminFinanceCostControlSourceRow:last-child {
  padding-bottom: 0;
}

.adminFinanceCostControlSourceRow.isEmpty {
  color: color-mix(in srgb, var(--muted), var(--fg) 10%);
}

.adminFinanceCostControlSourceRow.isEmpty strong {
  color: color-mix(in srgb, var(--muted), var(--fg) 18%);
  font-weight: 650;
}

.adminFinanceCostControlSourceRow strong {
  white-space: nowrap;
  font-size: 14px;
  line-height: 1.25;
}

.adminFinanceCostControlSourceLabel {
  color: color-mix(in srgb, var(--muted), var(--fg) 8%);
  font-size: 13px;
  line-height: 1.3;
}

.adminFinanceCostControlSourceAction {
  color: var(--focus);
  white-space: nowrap;
  justify-self: end;
  align-items: center;
  gap: 4px;
  margin-top: 1px;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.25;
  display: inline-flex;
}

.adminFinanceCostControlDistributionBar {
  background: color-mix(in srgb, var(--bg-2), white 12%);
  width: 100%;
  min-height: 14px;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--stroke), transparent 18%);
  border-radius: 999px;
  display: flex;
  overflow: hidden;
}

.adminFinanceCostControlDistributionSegment {
  flex-basis: var(--segment-width);
  flex-grow: 0;
  flex-shrink: 0;
  min-width: 0;
  height: 14px;
  display: block;
}

.adminFinanceCostControlDistributionSegment.isLabor, .adminFinanceCostControlDistributionDot.isLabor {
  background: color-mix(in srgb, var(--focus), white 18%);
}

.adminFinanceCostControlDistributionSegment.isInvoice, .adminFinanceCostControlDistributionDot.isInvoice {
  background: color-mix(in srgb, var(--warn), white 16%);
}

.adminFinanceCostControlDistributionSegment.isFuel, .adminFinanceCostControlDistributionDot.isFuel {
  background: #e7b836;
}

.adminFinanceCostControlDistributionSegment.isRepair, .adminFinanceCostControlDistributionDot.isRepair {
  background: #d38634;
}

.adminFinanceCostControlDistributionSegment.isTicket, .adminFinanceCostControlDistributionDot.isTicket {
  background: color-mix(in srgb, var(--ok), white 14%);
}

.adminFinanceCostControlDistributionSegment.isOther, .adminFinanceCostControlDistributionDot.isOther {
  background: color-mix(in srgb, var(--accent), white 20%);
}

.adminFinanceCostControlDistributionLegend {
  gap: 9px;
  display: grid;
}

.adminFinanceCostControlDistributionLegendRow {
  grid-template-columns: 12px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 9px;
  min-width: 0;
  display: grid;
}

.adminFinanceCostControlDistributionDot {
  border-radius: 999px;
  width: 12px;
  height: 12px;
}

.adminFinanceCostControlDistributionLabel {
  min-width: 0;
  color: color-mix(in srgb, var(--fg), var(--muted) 38%);
  font-size: 14px;
  line-height: 1.25;
}

.adminFinanceCostControlDistributionLegendRow strong {
  white-space: nowrap;
  font-size: 14px;
  line-height: 1.2;
}

.adminFinanceCostControlDistributionLegendRow .muted {
  text-align: right;
  white-space: nowrap;
  min-width: 3.4ch;
}

.adminFinanceCostControlDistributionNote {
  margin: 0;
  font-size: 13px;
  line-height: 1.35;
}

.adminFinanceCostControlSummaryMeta {
  flex-wrap: wrap;
  gap: 8px 12px;
  display: flex;
}

.adminFinanceCostControlSummaryAddress {
  max-width: 44ch;
}

.adminFinanceCostControlSummaryCompositionCard {
  align-content: start;
}

.adminFinanceCostControlSummaryTotalCard {
  grid-column: span 2;
}

.adminFinanceCostControlSummaryContextGrid {
  grid-template-columns: minmax(0, 1.6fr) repeat(2, minmax(0, .8fr));
  gap: 10px;
  display: grid;
}

.adminFinanceCostControlSummaryContextItem {
  align-content: start;
  gap: 6px;
  display: grid;
}

.adminFinanceCostControlSummaryMatrixWrap {
  overflow-x: auto;
}

.adminFinanceCostControlCompositionGrid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
  display: grid;
}

.adminFinanceCostControlCompositionCard {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: calc(var(--radius) + 2px);
  background: #fff;
  gap: 12px;
  padding: 14px;
  display: grid;
}

.adminFinanceCostControlCompositionCard.isExpanded {
  grid-column: 1 / -1;
}

.adminFinanceCostControlCompositionCard.isPending {
  background: color-mix(in srgb, var(--focus), white 98%);
  border-color: color-mix(in srgb, var(--focus), transparent 74%);
}

.adminFinanceCostControlCompositionHead {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.adminFinanceCostControlCompositionBar {
  background: color-mix(in srgb, var(--bg-2), white 18%);
  width: 100%;
  height: 12px;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--stroke), transparent 10%);
  border-radius: 999px;
  display: flex;
  overflow: hidden;
}

.adminFinanceCostControlCompositionBarCompact {
  height: 10px;
  margin-top: 2px;
}

.adminFinanceCostControlCompositionSegment {
  flex: 10%;
  min-width: 0;
  height: 100%;
  display: block;
}

.adminFinanceCostControlCompositionSegment.isLabor, .adminFinanceCostControlCompositionSwatch.isLabor {
  background: color-mix(in srgb, var(--focus), white 24%);
}

.adminFinanceCostControlCompositionSegment.isInvoice, .adminFinanceCostControlCompositionSwatch.isInvoice {
  background: color-mix(in srgb, var(--warning), white 18%);
}

.adminFinanceCostControlCompositionSegment.isFuel, .adminFinanceCostControlCompositionSwatch.isFuel {
  background: #e9bd45;
}

.adminFinanceCostControlCompositionSegment.isRepair, .adminFinanceCostControlCompositionSwatch.isRepair {
  background: #d48939;
}

.adminFinanceCostControlCompositionSegment.isTicket, .adminFinanceCostControlCompositionSwatch.isTicket {
  background: color-mix(in srgb, var(--success), white 18%);
}

.adminFinanceCostControlCompositionLegend {
  gap: 8px;
  display: grid;
}

.adminFinanceCostControlCompositionLegendCompact {
  gap: 6px;
}

.adminFinanceCostControlCompositionLegendItem {
  grid-template-columns: 12px minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px 8px;
  display: grid;
}

.adminFinanceCostControlSummarySplit {
  gap: 7px;
  margin-top: 2px;
  display: grid;
}

.adminFinanceCostControlSummarySplitRow {
  grid-template-columns: 12px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: grid;
}

.adminFinanceCostControlSummarySplitLabel {
  min-width: 0;
  color: color-mix(in srgb, var(--fg), var(--muted) 42%);
  font-size: 14px;
  line-height: 1.25;
}

.adminFinanceCostControlSummarySplitRow strong {
  white-space: nowrap;
  font-size: 14px;
  line-height: 1.2;
}

.adminFinanceCostControlSummarySplitRow .muted {
  text-align: right;
  white-space: nowrap;
  min-width: 3.4ch;
}

.adminFinanceCostControlCompositionSwatch {
  border-radius: 999px;
  width: 12px;
  height: 12px;
}

.adminFinanceCostControlSummaryMatrix {
  border-collapse: collapse;
  width: 100%;
}

.adminFinanceCostControlSummaryMatrix th, .adminFinanceCostControlSummaryMatrix td {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  text-align: left;
  vertical-align: middle;
  padding: 12px 14px;
}

.adminFinanceCostControlSummaryMatrix thead th {
  color: color-mix(in srgb, var(--muted), var(--fg) 10%);
  letter-spacing: .08em;
  text-transform: uppercase;
  border-top: 0;
  padding-top: 0;
  font-size: 12px;
}

.adminFinanceCostControlSummaryMatrix tbody th, .adminFinanceCostControlSummaryMatrix tbody td {
  font-size: 16px;
  line-height: 1.35;
}

.adminFinanceCostControlSummaryMatrix tbody th {
  font-weight: 700;
}

.adminFinanceCostControlSummaryMatrixRow.isMatched th, .adminFinanceCostControlSummaryMatrixRow.isMatched td:last-child {
  color: color-mix(in srgb, var(--ok), black 22%);
}

.adminFinanceCostControlSummaryMatrixRow.isDifferent th, .adminFinanceCostControlSummaryMatrixRow.isDifferent td:last-child {
  color: #a55300;
}

.adminFinanceCostControlSummaryMatrixRow.isPending td:last-child {
  color: color-mix(in srgb, var(--muted), var(--fg) 18%);
}

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

.adminFinanceCostControlDiscrepancyCard {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: calc(var(--radius) + 2px);
  background: #fff;
  gap: 12px;
  padding: 14px;
  display: grid;
}

.adminFinanceCostControlDiscrepancyCard.isMatched {
  border-color: color-mix(in srgb, var(--ok), transparent 56%);
  background: color-mix(in srgb, var(--ok), white 96%);
}

.adminFinanceCostControlDiscrepancyCard.isDifferent {
  border-color: color-mix(in srgb, var(--warn), transparent 52%);
  background: color-mix(in srgb, var(--warn), white 96%);
}

.adminFinanceCostControlDiscrepancyCard.isPending {
  border-color: color-mix(in srgb, var(--focus), transparent 72%);
  background: color-mix(in srgb, var(--focus), white 98%);
}

.adminFinanceCostControlDiscrepancyHead {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.adminFinanceCostControlDiscrepancyHead .pill {
  flex: none;
}

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

.adminFinanceCostControlDiscrepancyActions {
  justify-content: flex-start;
  display: flex;
}

.adminFinanceInlineLink {
  color: var(--focus);
  text-underline-offset: 2px;
  text-decoration: underline;
}

.adminFinanceInlineLink:hover {
  color: color-mix(in srgb, var(--focus), black 12%);
}

.adminFinanceInlineLink:focus-visible {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), transparent 68%);
  border-radius: 2px;
  outline: none;
}

.adminFinanceAllocationList {
  gap: 12px;
  display: grid;
}

.adminFinanceAllocationHeader, .adminFinanceAllocationRow {
  flex-wrap: wrap;
  gap: 12px;
  display: flex;
}

.adminFinanceAllocationHeader {
  align-items: end;
  padding: 0 14px;
}

.adminFinanceAllocationHeader .label, .adminFinanceAllocationFieldLabel {
  margin: 0;
}

.adminFinanceAllocationRow {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 56%);
  border-radius: calc(var(--radius) + 1px);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--focus), transparent 82%);
  background: #fff;
  align-items: end;
  padding: 14px;
}

.adminFinanceAllocationRow > .field, .adminFinanceAllocationRow > label.field {
  margin-top: 0;
}

.adminFinanceAllocationField {
  flex: 0 auto;
  min-width: 0;
  position: relative;
}

.adminFinanceAllocationField.isTarget {
  flex: 0 96px;
}

.adminFinanceAllocationField.isSite {
  flex: 1.15 176px;
}

.adminFinanceAllocationField.isAmount {
  flex: .8 144px;
}

.adminFinanceAllocationField.isNote {
  flex: 150px;
}

.adminFinanceAllocationRowActions {
  justify-content: flex-end;
  align-items: flex-end;
  gap: 8px;
  display: flex;
}

.adminFinanceAllocationField.isAction {
  flex: none;
}

.adminFinanceAllocationHeader .adminFinanceAllocationField.isAction {
  width: 44px;
  min-width: 44px;
}

.adminFinanceAllocationAmountControl {
  position: relative;
}

.adminFinanceAllocationAmountControl > .adminFinanceAllocationAmountInput {
  width: 100%;
  min-width: 0;
  padding-right: 60px;
}

.adminFinanceAllocationAmountMaxBtn {
  min-width: 32px;
  min-height: 22px;
  color: color-mix(in srgb, var(--muted), var(--fg) 24%);
  box-shadow: none;
  z-index: 1;
  background: none;
  border: 0;
  padding: 0 4px;
  font-size: .9rem;
  font-weight: 500;
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
}

.adminFinanceAllocationAmountMaxBtn:hover {
  color: color-mix(in srgb, var(--focus), var(--fg) 30%);
  box-shadow: none;
  background: none;
  border: 0;
}

.adminFinanceAllocationRowRemoveBtn {
  width: 44px;
  min-width: 44px;
  min-height: 44px;
  font-size: 18px;
  line-height: 1;
  padding: 0 !important;
}

.adminFinanceAllocationRowRemoveBtn > span {
  justify-content: center;
  align-items: center;
  width: 100%;
  line-height: 1;
  display: inline-flex;
}

.adminFinanceAllocationSurface .adminFinancePanelHead {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding-bottom: 4px;
  display: flex;
}

.adminFinanceAllocationSurface .adminFinancePanelActions {
  flex: none;
  justify-content: flex-end;
  margin-left: auto;
  padding-top: 4px;
}

.adminFinanceAllocationSurface .adminFinancePanelHead > :first-child {
  flex: auto;
  min-width: 0;
}

.adminFinanceAllocationSurface.isManual {
  container: allocation-manual / inline-size;
}

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

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

.adminFinanceCostControlFeedCard {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 6%);
  border-radius: calc(var(--radius) + 2px);
  background: #fff;
  gap: 12px;
  padding: 12px 14px;
  display: grid;
}

.adminFinanceCostControlFeedCard.isPending {
  border-color: color-mix(in srgb, var(--focus), transparent 74%);
  background: color-mix(in srgb, var(--focus), white 98%);
}

.adminFinanceCostControlFeedHead {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.adminFinanceCostControlFeedHead .pill.isSuccess {
  border-color: color-mix(in srgb, var(--success), transparent 44%);
  background: color-mix(in srgb, var(--success), white 94%);
}

.adminFinanceCostControlFeedHead .pill.isWarning {
  border-color: color-mix(in srgb, var(--warning), transparent 42%);
  background: color-mix(in srgb, var(--warning), white 94%);
}

.adminFinanceCostControlSectionSummaryGrid {
  margin-bottom: 8px;
}

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

.adminFinanceCostControlSectionSummaryGrid .adminFinanceReviewReadOnlyCard, .adminFinanceCostControlPendingCompareGrid .adminFinanceReviewReadOnlyCard {
  border-radius: calc(var(--radius) + 2px);
}

.adminFinanceCostControlTableToolbar {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 10px 12px;
  margin-bottom: 12px;
  display: flex;
}

.adminFinanceCostControlTableToolbarField {
  flex: 240px;
  max-width: 380px;
}

.adminFinanceCostControlTableToolbarMeta {
  flex-wrap: wrap;
  flex: 0 auto;
  justify-content: flex-end;
  align-items: center;
  gap: 8px 12px;
  display: flex;
}

.adminFinanceCostControlPendingBaselineBody {
  gap: 10px;
  display: grid;
}

.adminFinanceCostControlTable td, .adminFinanceCostControlTable th {
  vertical-align: top !important;
}

.adminFinanceCostControlTable .adminListRow.isDanger {
  background: color-mix(in srgb, var(--danger), white 97%);
}

.adminFinanceCostControlTable .adminListRow.isWarning {
  background: color-mix(in srgb, var(--warning), white 97%);
}

.adminFinanceCostControlTable .adminListRow.isDanger:hover {
  background: color-mix(in srgb, var(--danger), white 95%);
}

.adminFinanceCostControlTable .adminListRow.isWarning:hover {
  background: color-mix(in srgb, var(--warning), white 95%);
}

.adminFinanceCostControlTaskList {
  flex-wrap: wrap;
  gap: 6px;
  min-width: 180px;
  display: flex;
}

.adminFinanceCostControlTaskChip {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  background: color-mix(in srgb, var(--bg-2), white 20%);
  border-radius: 999px;
  align-items: baseline;
  gap: 8px;
  padding: 4px 8px;
  line-height: 1.25;
  display: inline-flex;
}

.adminFinanceCostControlTaskChip strong {
  color: color-mix(in srgb, var(--muted), var(--fg) 10%);
  font-size: 12px;
}

.adminFinanceCostControlCellStack {
  gap: 4px;
  display: grid;
}

.adminFinanceCostControlBrowseSiteCell {
  justify-content: flex-start;
  align-items: center;
  min-width: 0;
  display: flex;
}

.adminFinanceCostControlBrowseVehicleCell {
  justify-content: flex-start;
  align-items: start;
  gap: 4px;
  min-width: 0;
  display: grid;
}

.adminFinanceCostControlBrowseTableWrap {
  padding: 0;
  overflow: auto visible;
}

.adminFinanceCostControlBrowseTableWrap .adminListTableWrap {
  overflow: auto visible;
}

.adminFinanceCostControlBrowseCell {
  vertical-align: middle !important;
}

.adminFinanceCostControlTable tbody .adminFinanceCostControlBrowseCell {
  padding-top: 16px;
  padding-bottom: 16px;
  line-height: 1.1;
}

.adminFinanceCostControlBrowseValue {
  align-items: center;
  min-height: 34px;
  display: flex;
}

.adminFinanceCostControlBrowseCell.isCentered {
  text-align: center;
}

.adminFinanceCostControlBrowseCell.isCentered .adminFinanceCostControlBrowseValue {
  justify-content: center;
}

.adminFinanceCostControlBrowseCell.isCentered .adminGeoSortHeaderBtn {
  justify-content: center;
  width: 100%;
}

.adminFinanceCostControlBrowseSiteTitle, .adminFinanceCostControlBrowseVehicleTitle {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  line-height: 1.1;
  display: inline-flex;
}

.adminFinanceCostControlBrowseColIssues {
  width: 96px;
}

.adminFinanceIssuesHint {
  cursor: help;
  align-items: center;
  gap: 6px;
  display: inline-flex;
  position: relative;
}

.adminFinanceIssuesHintIcon {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: color-mix(in srgb, var(--bg-2), white 35%);
  width: 18px;
  height: 18px;
  color: color-mix(in srgb, var(--muted), var(--fg) 24%);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  font-size: 11px;
  line-height: 1;
  display: inline-flex;
}

.adminFinanceIssuesTooltip {
  z-index: 120;
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  min-width: 220px;
  max-width: min(360px, 72vw);
  color: color-mix(in srgb, var(--fg), black 8%);
  white-space: normal;
  opacity: 1;
  pointer-events: none;
  background: #fff;
  border-radius: 8px;
  padding: 9px 10px;
  font-size: 12px;
  line-height: 1.35;
  position: fixed;
  box-shadow: 0 10px 24px #00000029;
}

.adminFinanceIssuesTooltipLine {
  display: block;
}

.adminFinanceIssuesTooltipLine + .adminFinanceIssuesTooltipLine {
  margin-top: 4px;
}

.adminFinanceCostControlBrowseColInvoices {
  width: 108px;
}

.adminFinanceCostControlBrowseColCost {
  width: 142px;
}

.adminFinanceCostControlBrowseColAction {
  width: 92px;
}

.adminFinanceCostControlBrowseIssuesValue.isWarning {
  color: color-mix(in srgb, var(--warn), black 24%);
  font-weight: 700;
}

.adminFinanceCostControlBrowseActionBtn {
  min-height: 34px;
  padding: 0 12px;
  font-size: 13px;
  line-height: 1;
}

.adminFinanceCostControlRecordLink {
  color: var(--focus);
  text-underline-offset: 2px;
  font-weight: 600;
  text-decoration: underline;
}

.adminFinanceCostControlRecordLink:hover {
  color: color-mix(in srgb, var(--focus), black 12%);
}

.adminFinanceCostControlRecordLink:focus-visible {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), transparent 68%);
  border-radius: 2px;
  outline: none;
}

.adminFinanceReadinessCard {
  border: 1px solid var(--stroke);
  background: color-mix(in srgb, var(--bg-2), var(--bg) 36%);
  gap: 8px;
  padding: 12px 14px;
  display: grid;
}

.adminFinanceReadinessCard.isIncomplete {
  border-color: color-mix(in srgb, var(--danger), transparent 60%);
  background: color-mix(in srgb, var(--danger), white 96%);
}

.adminFinanceReadinessCard.isReady {
  border-color: color-mix(in srgb, var(--ok), transparent 58%);
  background: color-mix(in srgb, var(--ok), white 95%);
}

.adminFinanceReadinessList {
  gap: 4px;
  margin: 0;
  padding-left: 18px;
  display: grid;
}

.adminFinanceDuplicateCard {
  border: 1px solid color-mix(in srgb, var(--warn), transparent 52%);
  background: color-mix(in srgb, var(--warn), white 95%);
  gap: 10px;
  padding: 10px 12px;
  display: grid;
}

.adminFinanceDuplicateList {
  gap: 10px;
  display: grid;
}

.adminFinanceDuplicateItem {
  border: 1px solid color-mix(in srgb, var(--warn), transparent 66%);
  background: color-mix(in srgb, var(--bg), white 18%);
  gap: 8px;
  padding: 10px 12px;
  display: grid;
}

.adminFinanceDuplicateSignals {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.adminFinanceDuplicateMeta {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.adminFinanceSupplierLookup {
  gap: 10px;
  display: grid;
}

.adminFinanceSupplierLookupBlock {
  gap: 14px;
  display: grid;
}

.adminFinanceAcceptedAllocationTableWrap {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, white, var(--bg) 6%);
  overflow-x: auto;
}

.adminFinanceAcceptedAllocationTable {
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  width: 100%;
  min-width: 680px;
}

.adminFinanceAcceptedAllocationTable th, .adminFinanceAcceptedAllocationTable td {
  vertical-align: top;
  padding: 12px 14px;
}

.adminFinanceAcceptedAllocationTable thead th {
  color: color-mix(in srgb, var(--muted), var(--text) 22%);
  text-align: left;
  background: color-mix(in srgb, var(--stroke), white 94%);
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.adminFinanceAcceptedAllocationTable tbody td {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  color: var(--text);
  line-height: 1.45;
}

.adminFinanceAcceptedAllocationTable tbody tr:first-child td {
  border-top: 0;
}

.adminFinanceAcceptedAllocationTable th:nth-child(3), .adminFinanceAcceptedAllocationTable td:nth-child(3) {
  text-align: right;
}

.adminFinanceAcceptedCellStack {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.adminFinanceAcceptedSourceCell {
  white-space: normal;
  word-break: break-word;
}

.adminFinanceAcceptedSourceSecondary {
  color: color-mix(in srgb, var(--muted), var(--text) 18%);
  font-size: 13px;
  line-height: 1.4;
}

.adminFinanceAcceptedFuelTable {
  min-width: 840px;
}

.adminFinanceAcceptedFuelTable th:nth-child(n+2), .adminFinanceAcceptedFuelTable td:nth-child(n+2) {
  text-align: right;
}

.adminFinanceAcceptedFuelVehicleCell {
  gap: 8px;
  min-width: 0;
  display: grid;
}

.adminFinanceAcceptedFuelToggle {
  width: fit-content;
  color: color-mix(in srgb, var(--muted), var(--text) 26%);
  font: inherit;
  cursor: pointer;
  background: none;
  border: 0;
  align-items: center;
  gap: 6px;
  padding: 0;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  display: inline-flex;
}

.adminFinanceAcceptedFuelToggle:hover {
  color: var(--text);
}

.adminFinanceAcceptedFuelToggle:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 18%);
  outline-offset: 4px;
  border-radius: 6px;
}

.adminFinanceAcceptedFuelParentRow.isFallback td {
  background: color-mix(in srgb, white, var(--bg) 8%);
}

.adminFinanceAcceptedFuelDetailRow td {
  background: color-mix(in srgb, var(--focus), white 98%);
  border-top: 0;
  padding: 0;
}

.adminFinanceAcceptedFuelDetailWrap {
  padding: 4px 14px 14px 40px;
}

.adminFinanceAcceptedFuelDetailTable {
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  width: 100%;
}

.adminFinanceAcceptedFuelDetailTable th, .adminFinanceAcceptedFuelDetailTable td {
  vertical-align: top;
  padding: 10px 12px;
}

.adminFinanceAcceptedFuelDetailTable thead th {
  color: color-mix(in srgb, var(--muted), var(--text) 24%);
  text-align: left;
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  font-size: 12px;
  font-weight: 700;
}

.adminFinanceAcceptedFuelDetailTable tbody td {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
}

.adminFinanceAcceptedFuelDetailTable tbody tr:last-child td {
  border-bottom: 0;
}

.adminFinanceAcceptedFuelDetailTable tfoot th, .adminFinanceAcceptedFuelDetailTable tfoot td {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  color: color-mix(in srgb, var(--muted), var(--text) 18%);
  font-size: 12px;
  font-weight: 700;
}

.adminFinanceAcceptedFuelDetailTable th:nth-child(n+3), .adminFinanceAcceptedFuelDetailTable td:nth-child(n+3) {
  text-align: right;
}

.adminFinanceSupplierDecisionBlock {
  gap: 8px;
  display: grid;
}

.adminFinanceSupplierDecisionHeader {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.adminFinanceSupplierIdentity {
  flex: auto;
  min-width: 0;
}

.adminFinanceLinkedSupplierCard {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 24%);
  background: color-mix(in srgb, var(--focus), white 95%);
  border-radius: var(--radius);
  padding: 12px 18px 16px;
}

.adminFinanceLinkedSupplierHead {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px 14px;
  display: grid;
}

.adminFinanceLinkedSupplierHead .adminFinanceStack {
  min-width: 0;
}

.adminFinanceLinkedSupplierBadge {
  place-self: start end;
}

.adminFinanceSupplierEmptyState {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 70%);
  background: color-mix(in srgb, var(--focus), white 98%);
  border-radius: var(--radius);
  gap: 6px;
  padding: 12px 14px;
  display: grid;
}

.adminFinanceSupplierSearchLane {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  gap: 8px;
  padding-bottom: 14px;
  display: grid;
}

.adminFinanceSupplierSearchField {
  gap: 8px;
}

.adminFinanceSupplierSearchBlock {
  gap: 0;
  display: grid;
}

.adminFinanceLookupHint {
  margin: 0;
}

.adminFinanceSupplierResults {
  gap: 8px;
  display: grid;
}

.adminFinanceSupplierSuggestionGrid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 10px;
  display: grid;
}

.adminFinanceSupplierSuggestionIntro {
  gap: 7px;
  display: grid;
}

.adminFinanceSupplierSuggestionList {
  gap: 9px;
  display: grid;
}

.adminFinanceSupplierCreateCard {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 26%);
  background: color-mix(in srgb, var(--focus), white 95%);
  border-radius: calc(var(--radius) + 2px);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--focus), transparent 56%);
  gap: 10px;
  padding: 16px 18px;
  display: grid;
}

.adminFinanceSupplierSuggestionTitle {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 7px;
  margin: 0;
  display: flex;
}

.adminFinanceSupplierSuggestionTitle span:not(:first-child) {
  color: color-mix(in srgb, var(--muted), var(--fg) 16%);
  font-size: 13px;
  font-weight: 500;
}

.adminFinanceReviewSubsectionHeader {
  gap: 4px;
  display: grid;
}

.adminFinanceReviewSubsectionHeader + .adminFinanceReviewFormGrid {
  margin-top: -4px;
}

.adminFinanceObraSuggestionGrid {
  gap: 12px;
  display: grid;
}

.adminFinanceObraSuggestionCard {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 76%);
  background: color-mix(in srgb, var(--bg-2), white 40%);
  border-radius: var(--radius);
  gap: 10px;
  padding: 12px;
  display: grid;
}

.adminFinanceObraEvidenceList {
  gap: 6px;
  display: grid;
}

.adminFinanceObraEvidenceItem {
  border-left: 2px solid color-mix(in srgb, var(--focus), transparent 30%);
  background: color-mix(in srgb, var(--focus), white 97%);
  color: color-mix(in srgb, var(--muted), var(--fg) 18%);
  padding: 8px 10px;
  font-size: 13px;
  line-height: 1.35;
  display: block;
}

.adminFinanceSupplierSuggestionCard {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 26%);
  background: color-mix(in srgb, var(--focus), white 95%);
  border-radius: var(--radius);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--focus), transparent 56%);
  gap: 10px;
  padding: 12px;
  display: grid;
}

.adminFinanceSupplierSuggestionRow {
  border-color: color-mix(in srgb, var(--stroke), transparent 4%);
  background: var(--bg);
  min-height: 86px;
  box-shadow: none;
  grid-template-columns: 58px minmax(0, 1fr) 118px;
  align-items: center;
  gap: 8px 12px;
  padding: 10px 10px 10px 11px;
}

.adminFinanceSupplierSuggestionRow.hasNameVariant {
  border-color: color-mix(in srgb, var(--focus), transparent 26%);
  background: color-mix(in srgb, var(--focus), white 97.5%);
  border-left-width: 3px;
}

.adminFinanceSupplierSuggestionStatusRail {
  border-radius: calc(var(--radius) - 2px);
  background: color-mix(in srgb, var(--bg-2), white 36%);
  min-height: 54px;
  color: color-mix(in srgb, var(--muted), var(--fg) 22%);
  text-align: center;
  text-transform: uppercase;
  align-content: center;
  justify-items: center;
  gap: 3px;
  padding: 6px 5px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.15;
  display: grid;
}

.adminFinanceSupplierSuggestionStatusRail strong {
  color: var(--text);
  font-size: 17px;
  line-height: 1;
}

.adminFinanceSupplierSuggestionStatusRail.isHigh {
  background: color-mix(in srgb, var(--ok), white 94%);
  color: color-mix(in srgb, var(--ok), black 28%);
}

.adminFinanceSupplierSuggestionStatusRail.isMedium, .adminFinanceSupplierSuggestionStatusRail.isReview {
  color: #9b690d;
  background: #fbf7ee;
}

.adminFinanceSupplierSuggestionStatusRail.isConflict {
  background: color-mix(in srgb, var(--danger), white 95%);
  color: color-mix(in srgb, var(--danger), black 22%);
}

.adminFinanceSupplierSuggestionHead {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
  display: flex;
}

.adminFinanceSupplierSuggestionRow .adminFinanceSupplierSuggestionHead {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 3px;
  display: grid;
}

.adminFinanceSupplierSuggestionMain {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.adminFinanceSupplierSuggestionIdentity {
  min-width: 0;
}

.adminFinanceSupplierSuggestionTaxId, .adminFinanceSupplierSuggestionAddress {
  overflow-wrap: break-word;
}

.adminFinanceSupplierSuggestionAddress {
  max-width: 92ch;
}

.adminFinanceSupplierSuggestionMeta {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 6px;
  display: flex;
}

.adminFinanceSupplierScorePill {
  color: color-mix(in srgb, var(--muted), var(--fg) 18%);
}

.adminFinanceSupplierStrengthBadge.isHigh {
  border-color: color-mix(in srgb, var(--ok), transparent 48%);
  background: color-mix(in srgb, var(--ok), white 94%);
  color: color-mix(in srgb, var(--ok), black 28%);
}

.adminFinanceSupplierStrengthBadge.isMedium {
  color: #9f6c0d;
  background: #fbf7ee;
  border-color: #cc8a1180;
}

.adminFinanceSupplierStrengthBadge.isLow {
  border-color: color-mix(in srgb, var(--stroke), transparent 10%);
  background: color-mix(in srgb, var(--bg-2), white 8%);
  color: var(--text);
}

.adminFinanceSupplierStrengthBadge.isConflict, .adminFinanceConflictPill, .adminFinanceSupplierNameVariantPill, .adminFinanceSupplierNeedsEnrichmentPill, .adminFinanceSupplierSuggestionConfirmPill {
  color: #9f6c0d;
  background: #fbf7ee;
  border-color: #cc8a1185;
}

.adminFinanceSupplierTaxIdPdfPill, .adminFinanceSupplierTaxIdDatabasePill {
  border-color: color-mix(in srgb, var(--focus), transparent 62%);
  background: color-mix(in srgb, var(--focus), white 95%);
  color: color-mix(in srgb, var(--focus), var(--text) 22%);
}

.adminFinanceSupplierTaxIdConflictPill {
  border-color: color-mix(in srgb, var(--danger), transparent 62%);
  background: color-mix(in srgb, var(--danger), white 96%);
  color: color-mix(in srgb, var(--danger), var(--text) 18%);
}

.adminFinanceSupplierSuggestionConflict {
  color: color-mix(in srgb, var(--muted), var(--fg) 30%);
  margin: -2px 0 0;
  font-size: 13px;
  line-height: 1.4;
}

.adminFinanceSupplierLink {
  color: inherit;
  text-decoration: underline;
  -webkit-text-decoration-color: color-mix(in srgb, var(--focus), transparent 36%);
  text-decoration-color: color-mix(in srgb, var(--focus), transparent 36%);
  text-underline-offset: .14em;
}

.adminFinanceSupplierLink:hover, .adminFinanceSupplierLink:focus-visible {
  color: color-mix(in srgb, var(--focus), var(--text) 28%);
  text-decoration-color: currentColor;
}

.adminFinanceSupplierSuggestionActions {
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 7px;
  display: flex;
}

.adminFinanceSupplierSuggestionRow .adminFinanceSupplierSuggestionActions {
  flex-direction: column;
  grid-area: 1 / 3;
  justify-content: flex-end;
  place-self: center end;
  min-width: 118px;
}

.adminFinanceSupplierSuggestionRow .adminFinanceSupplierSuggestionActions .btn {
  justify-content: center;
  width: 100%;
  min-height: 34px;
  padding-inline: 10px;
}

.adminFinanceSupplierSuggestionPrimaryAction {
  border-color: color-mix(in srgb, var(--stroke), transparent 4%);
  background: var(--bg);
  color: var(--text);
}

.adminFinanceSupplierSuggestionPrimaryAction:hover, .adminFinanceSupplierSuggestionPrimaryAction:focus-visible {
  border-color: color-mix(in srgb, var(--focus), transparent 48%);
  background: color-mix(in srgb, var(--focus), white 97%);
}

.adminFinanceSupplierSuggestionSecondaryAction {
  border-color: color-mix(in srgb, var(--focus), transparent 18%);
  background: var(--focus);
  color: #fff;
  box-shadow: none;
}

.adminFinanceSupplierSuggestionSecondaryAction:hover, .adminFinanceSupplierSuggestionSecondaryAction:focus-visible {
  border-color: color-mix(in srgb, var(--focus), black 8%);
  background: color-mix(in srgb, var(--focus), black 8%);
  color: #fff;
}

.adminFinanceSupplierCreateGrid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 10px;
  display: grid;
}

.adminFinanceSupplierResultButton {
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  background: var(--bg);
  text-align: left;
  justify-items: start;
  gap: 2px;
  padding: 10px 12px;
  display: grid;
}

.adminFinanceReviewFieldFull {
  grid-column: 1 / -1;
}

.adminFinanceReviewStatusStrip {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 10px;
  display: grid;
}

.adminFinanceStatusCard {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: color-mix(in srgb, var(--bg-2), white 42%);
  gap: 6px;
  padding: 10px 12px;
  display: grid;
}

.adminFinanceStatusCard.isReady {
  border-color: color-mix(in srgb, var(--ok), transparent 54%);
  background: color-mix(in srgb, var(--ok), white 95%);
}

.adminFinanceStatusCard.isNeutral {
  border-color: color-mix(in srgb, var(--focus), transparent 76%);
  background: color-mix(in srgb, var(--focus), white 98%);
}

.adminFinanceStatusCard.isIncomplete, .adminFinanceStatusCard.isWarning {
  border-color: color-mix(in srgb, var(--warn), transparent 48%);
  background: color-mix(in srgb, var(--warn), white 95%);
}

.adminDocumentProcessingLayout, .adminDocumentProcessingShell {
  gap: 14px;
}

.adminDocumentProcessingShell {
  display: grid;
}

.adminDocumentProcessingSurface {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 6%);
  background: var(--bg);
  box-shadow: none;
}

.adminDocumentProcessingSurfaceBody {
  gap: 16px;
  padding: 18px;
  display: grid;
}

.adminDocumentProcessingOverviewGrid {
  gap: 10px;
}

.adminDocumentProcessingOverviewCard {
  background: var(--bg);
  min-height: 126px;
  box-shadow: none;
  border-radius: 8px;
  gap: 10px;
  padding: 14px;
}

.adminDocumentProcessingOverviewCard.adminFinanceStatusCard.isReady {
  border-color: color-mix(in srgb, var(--ok), transparent 52%);
  background: var(--bg);
}

.adminDocumentProcessingOverviewCard.adminFinanceStatusCard.isNeutral {
  border-color: color-mix(in srgb, var(--focus), transparent 76%);
  background: var(--bg);
}

.adminDocumentProcessingOverviewCard.adminFinanceStatusCard.isIncomplete, .adminDocumentProcessingOverviewCard.adminFinanceStatusCard.isWarning {
  border-color: color-mix(in srgb, var(--warn), transparent 50%);
  background: var(--bg);
}

.adminDocumentProcessingOverviewHead {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.adminDocumentProcessingOverviewTitle {
  font-family: var(--font-condensed);
  letter-spacing: .01em;
  font-size: 16px;
  line-height: 1.1;
}

.adminDocumentProcessingOverviewHead .pill {
  flex: none;
  min-height: 25px;
  padding: 0 9px;
  font-size: 11px;
  line-height: 1.1;
}

.adminDocumentProcessingOverviewMeta {
  min-width: 0;
  color: color-mix(in srgb, var(--muted), var(--fg) 12%);
  max-width: 44ch;
  font-size: 13px;
  line-height: 1.45;
}

.adminDocumentProcessingPillRow .pill {
  min-height: 26px;
  padding: 0 10px;
  font-size: 12px;
  line-height: 1.1;
}

.adminDocumentProcessingSection {
  gap: 10px;
}

.adminDocumentProcessingFormSection {
  gap: 14px;
}

.adminDocumentProcessingSectionHead {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

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

.adminDocumentProcessingRuntimeItem {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  background: var(--bg);
  min-width: 0;
  box-shadow: none;
  border-radius: 8px;
  gap: 7px;
  padding: 11px 12px;
}

.adminDocumentProcessingDiagnostics {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: color-mix(in srgb, var(--bg-2), white 70%);
  border-radius: 8px;
  margin-top: 12px;
  padding: 12px 14px;
}

.adminDocumentProcessingDiagnostics[open] .adminDocumentProcessingDiagnosticsGrid {
  margin-top: 12px;
}

.adminDocumentProcessingRuntimeValueStack {
  gap: 8px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingProfileStackShell, .adminDocumentProcessingProfileGrid, .adminDocumentProcessingStackGrid, .adminDocumentProcessingStackList {
  gap: 12px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingProfileGrid {
  grid-template-columns: 1fr;
}

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

.adminDocumentProcessingProfileCard, .adminDocumentProcessingStackCard {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  background: var(--bg);
  border-radius: 8px;
  gap: 12px;
  min-width: 0;
  padding: 12px;
  display: grid;
}

.adminDocumentProcessingProfileSummary, .adminDocumentProcessingProfileEditor, .adminDocumentProcessingProfileHead, .adminDocumentProcessingProfileFields, .adminDocumentProcessingProfileActions, .adminDocumentProcessingStackRow, .adminDocumentProcessingStackRowActions {
  gap: 10px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingProfileSummary {
  border-radius: calc(var(--radius) + 2px);
  cursor: pointer;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "top actions"
                       "pills actions";
  align-items: start;
  padding: 2px;
  display: grid;
}

.adminDocumentProcessingProfileSummary:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 3px;
}

.adminDocumentProcessingProfileSummaryTop {
  grid-area: top;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingProfileSummaryMain {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingProfileTitleRow {
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.adminDocumentProcessingProfileSummaryActions {
  flex-wrap: wrap;
  grid-area: actions;
  justify-content: flex-end;
  align-self: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.adminDocumentProcessingProfileSummary .adminDocumentProcessingPillRow {
  grid-area: pills;
}

.adminDocumentProcessingProfileInlineToggle {
  flex: none;
  justify-content: center;
  align-items: center;
  min-width: 28px;
  min-height: 28px;
  display: inline-flex;
}

.adminDocumentProcessingProfileSecondary {
  font-size: 12px;
  line-height: 1.35;
}

.adminDocumentProcessingProfileEditor {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  padding-top: 12px;
}

.adminDocumentProcessingProfileWarning {
  border: 1px solid color-mix(in srgb, var(--warn), transparent 24%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, white, var(--warn) 10%);
  gap: 6px;
  min-width: 0;
  padding: 12px;
  display: grid;
}

.adminDocumentProcessingProfileHead, .adminDocumentProcessingProfileActions, .adminDocumentProcessingStackRow {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

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

.adminDocumentProcessingProfileModelExamples {
  grid-column: 1 / -1;
  margin-top: -4px;
}

.adminDocumentProcessingStackRow {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  border-radius: calc(var(--radius) + 2px);
  background: #fff;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 10px 12px;
}

.adminDocumentProcessingStackRow[draggable="true"] {
  cursor: grab;
}

.adminDocumentProcessingStackRowLocked {
  background: color-mix(in srgb, white, var(--bg-2) 30%);
}

.adminDocumentProcessingStackRowMain {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingStackRowMain strong {
  font-size: 14px;
  line-height: 1.25;
}

.adminDocumentProcessingStackMeta {
  font-size: 12px;
  line-height: 1.35;
}

.adminDocumentProcessingStackRowActions {
  grid-auto-flow: column;
  justify-content: end;
}

.adminDocumentProcessingStageGrid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 0 14px;
  display: grid;
}

.adminDocumentProcessingStageGrid[hidden] {
  display: none;
}

.adminDocumentProcessingStageCard, .adminDocumentProcessingSupportCard, .adminDocumentProcessingStageCompareCell {
  gap: 8px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingStageCompareCell {
  border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  border-right: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  background: color-mix(in srgb, white, var(--bg-2) 18%);
  align-content: start;
  padding: 10px 14px 0;
}

.adminDocumentProcessingStageCompareCellTop {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  border-top-left-radius: calc(var(--radius) + 5px);
  border-top-right-radius: calc(var(--radius) + 5px);
  padding-top: 12px;
}

.adminDocumentProcessingStageCompareCellBottom {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  border-bottom-left-radius: calc(var(--radius) + 5px);
  border-bottom-right-radius: calc(var(--radius) + 5px);
  padding-bottom: 12px;
}

.adminDocumentProcessingStageCompareCellClassification {
  grid-column: 1;
}

.adminDocumentProcessingStageCompareCellExtraction {
  grid-column: 2;
}

.adminDocumentProcessingStageCard, .adminDocumentProcessingSupportCard {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  background: var(--bg);
  border-radius: 8px;
  padding: 14px;
}

.adminDocumentProcessingStageHead {
  align-content: start;
  gap: 4px;
  min-height: 56px;
  display: grid;
}

.adminDocumentProcessingStageHeadHint {
  min-height: 2.8em;
  line-height: 1.45;
}

.adminDocumentProcessingStageFields {
  gap: 12px;
}

.adminDocumentProcessingStageRow {
  align-content: start;
}

.adminDocumentProcessingStageRowProvider {
  min-height: 150px;
}

.adminDocumentProcessingStageRowBaseUrl, .adminDocumentProcessingStageRowTimeout {
  min-height: 60px;
}

.adminDocumentProcessingStageRowModel, .adminDocumentProcessingStageRowReasoning {
  min-height: 94px;
}

.adminDocumentProcessingStageFieldHint {
  min-height: 2.6em;
  line-height: 1.45;
}

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

.adminDocumentProcessingStageMetaItem {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, white, var(--bg-2) 26%);
  align-content: start;
  gap: 6px;
  min-width: 0;
  min-height: 94px;
  padding: 10px 12px;
  display: grid;
}

.adminDocumentProcessingStageMetaCode {
  letter-spacing: -.01em;
  font-size: .76rem;
  line-height: 1.2;
}

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

.adminDocumentProcessingSupportCard {
  align-content: start;
}

.adminDocumentProcessingSupportSummary {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  background: color-mix(in srgb, var(--bg-2), white 70%);
  border-radius: 8px;
  padding: 11px 12px;
}

.adminDocumentProcessingSupportSummary .adminSettingsFieldHint {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
}

.adminDocumentProcessingSecretBlock {
  gap: 14px;
  width: 100%;
  display: grid;
}

.adminDocumentProcessingSecretActions {
  justify-content: flex-start;
}

.adminDocumentProcessingActionLane {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  width: 100%;
  display: flex;
}

.adminDocumentProcessingActionLaneRight {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  display: flex;
}

.adminDocumentProcessingPrimaryActions {
  justify-content: flex-end;
}

.adminDocumentProcessingSecretBlock .adminSettingsFormMeta {
  text-align: right;
  white-space: nowrap;
}

.adminDocumentProcessingPromptCatalogGrid {
  margin-top: 2px;
}

.adminDocumentProcessingPromptCatalogSummary {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  border-radius: calc(var(--radius) + 5px);
  background: linear-gradient(180deg, color-mix(in srgb, white, var(--bg) 4%), color-mix(in srgb, var(--bg-2), white 70%));
  gap: 12px;
  padding: 14px 16px 16px;
  display: grid;
}

.adminDocumentProcessingPromptCatalogSummaryTop, .adminDocumentProcessingPromptCatalogSummaryMeta {
  gap: 12px;
  display: grid;
}

.adminDocumentProcessingPromptCatalogSummaryTop {
  grid-template-columns: 180px minmax(0, 1fr);
  align-items: stretch;
}

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

.adminDocumentProcessingPromptFact {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, white, var(--bg-2) 12%);
  gap: 8px;
  min-width: 0;
  padding: 10px 12px;
  display: grid;
}

.adminDocumentProcessingPromptFactStatus {
  align-content: start;
}

.adminDocumentProcessingPromptFactPath {
  background: color-mix(in srgb, white, var(--bg) 8%);
}

.adminDocumentProcessingPromptChipSection {
  gap: 8px;
  display: grid;
}

.adminDocumentProcessingPromptChipRow {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.adminDocumentProcessingPromptChip {
  border-color: color-mix(in srgb, var(--focus), transparent 82%);
  background: color-mix(in srgb, var(--focus), white 97%);
  min-height: 30px;
  color: color-mix(in srgb, var(--fg), black 2%);
  padding: 0 11px;
  font-size: 12px;
}

.adminDocumentProcessingPromptEmpty {
  color: color-mix(in srgb, var(--muted), var(--fg) 8%);
  font-size: 14px;
}

.adminDocumentProcessingPromptWorkbench {
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 1fr);
  gap: 16px;
  display: grid;
}

.adminDocumentProcessingPromptEditorCard, .adminDocumentProcessingPromptAside {
  gap: 14px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingPromptEditorCard {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  border-radius: calc(var(--radius) + 5px);
  background: linear-gradient(180deg, color-mix(in srgb, white, var(--bg-2) 20%), color-mix(in srgb, var(--bg-2), white 42%));
  padding: 16px;
}

.adminDocumentProcessingPromptAside {
  align-content: start;
}

.adminDocumentProcessingPromptCatalogTextarea {
  min-height: 28rem;
  font-family: var(--font-mono);
  background: color-mix(in srgb, var(--bg), white 48%);
  font-size: 13px;
  line-height: 1.5;
}

.adminDocumentProcessingPromptCatalogActions {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  display: flex;
}

.adminDocumentProcessingPromptCatalogNotice {
  border: 1px solid color-mix(in srgb, var(--ok), transparent 46%);
  border-radius: calc(var(--radius) + 4px);
  background: color-mix(in srgb, var(--ok), white 94%);
  color: color-mix(in srgb, var(--ok), var(--fg) 38%);
  padding: 12px 14px;
}

.adminDocumentProcessingPromptCatalogIssues {
  border: 1px solid color-mix(in srgb, var(--warn), transparent 58%);
  border-radius: calc(var(--radius) + 4px);
  background: color-mix(in srgb, var(--warn), white 95%);
  gap: 8px;
  padding: 14px 16px;
  display: grid;
}

.adminDocumentProcessingPromptPreviewStack {
  gap: 10px;
  margin-top: 12px;
  display: grid;
}

.adminDocumentProcessingPromptPreview {
  border-radius: calc(var(--radius) + 2px);
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: color-mix(in srgb, white, var(--bg-2) 22%);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-family: var(--font-mono);
  margin: 0;
  padding: 12px 14px;
  font-size: 12px;
  line-height: 1.5;
}

.adminDocumentProcessingTextBreak {
  overflow-wrap: anywhere;
  word-break: break-word;
  min-width: 0;
}

@media (max-width: 1100px) {
  .adminDocumentProcessingRuntimeGrid, .adminDocumentProcessingStackGrid, .adminDocumentProcessingSupportGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .adminDocumentProcessingPromptWorkbench, .adminDocumentProcessingStageGrid, .adminDocumentProcessingStageMetaGrid {
    grid-template-columns: 1fr;
  }

  .adminDocumentProcessingStageCompareCellClassification, .adminDocumentProcessingStageCompareCellExtraction {
    grid-column: auto;
  }

  .adminDocumentProcessingStageCompareCellClassification.adminDocumentProcessingStageCompareCellHeader {
    order: 1;
  }

  .adminDocumentProcessingStageCompareCellClassification.adminDocumentProcessingStageCompareCellProvider {
    order: 2;
  }

  .adminDocumentProcessingStageCompareCellClassification.adminDocumentProcessingStageCompareCellBaseUrl {
    order: 3;
  }

  .adminDocumentProcessingStageCompareCellClassification.adminDocumentProcessingStageCompareCellModel {
    order: 4;
  }

  .adminDocumentProcessingStageCompareCellClassification.adminDocumentProcessingStageCompareCellReasoning {
    order: 5;
  }

  .adminDocumentProcessingStageCompareCellClassification.adminDocumentProcessingStageCompareCellTimeout {
    order: 6;
  }

  .adminDocumentProcessingStageCompareCellClassification.adminDocumentProcessingStageCompareCellMeta {
    order: 7;
  }

  .adminDocumentProcessingStageCompareCellExtraction.adminDocumentProcessingStageCompareCellHeader {
    order: 8;
    margin-top: 14px;
  }

  .adminDocumentProcessingStageCompareCellExtraction.adminDocumentProcessingStageCompareCellProvider {
    order: 9;
  }

  .adminDocumentProcessingStageCompareCellExtraction.adminDocumentProcessingStageCompareCellBaseUrl {
    order: 10;
  }

  .adminDocumentProcessingStageCompareCellExtraction.adminDocumentProcessingStageCompareCellModel {
    order: 11;
  }

  .adminDocumentProcessingStageCompareCellExtraction.adminDocumentProcessingStageCompareCellReasoning {
    order: 12;
  }

  .adminDocumentProcessingStageCompareCellExtraction.adminDocumentProcessingStageCompareCellTimeout {
    order: 13;
  }

  .adminDocumentProcessingStageCompareCellExtraction.adminDocumentProcessingStageCompareCellMeta {
    order: 14;
  }

  .adminDocumentProcessingPromptCatalogSummaryTop, .adminDocumentProcessingPromptCatalogSummaryMeta {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .adminDocumentProcessingHeaderActions {
    justify-content: stretch;
    width: 100%;
  }

  .adminDocumentProcessingHeaderActions .btn {
    flex: 100%;
  }

  .adminDocumentProcessingOverviewCard {
    min-height: auto;
  }

  .adminDocumentProcessingSurfaceBody {
    padding: 16px;
  }

  .adminDocumentProcessingRuntimeGrid, .adminDocumentProcessingStackGrid, .adminDocumentProcessingProfileFields, .adminDocumentProcessingSupportGrid, .adminDocumentProcessingProfileSummary, .adminDocumentProcessingProfileSummaryTop, .adminDocumentProcessingProfileHead, .adminDocumentProcessingProfileActions, .adminDocumentProcessingStackRow, .adminDocumentProcessingStackRowActions {
    grid-template-columns: 1fr;
  }

  .adminDocumentProcessingProfileSummaryActions, .adminDocumentProcessingActionLaneRight, .adminDocumentProcessingPrimaryActions, .adminDocumentProcessingSecretBlock .adminSettingsFormMeta {
    text-align: left;
    white-space: normal;
    justify-content: flex-start;
  }

  .adminDocumentProcessingProfileInlineToggle {
    min-height: 0;
  }

  .adminDocumentProcessingProfileSummary {
    grid-template-areas: "top"
                         "pills"
                         "actions";
  }

  .adminDocumentProcessingRuntimeItemWide {
    grid-column: auto;
  }

  .adminDocumentProcessingSecretFooter {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .adminDocumentProcessingActionLane {
    align-items: start;
  }
}

.adminDocumentProcessingShell {
  gap: 10px;
}

.adminDocumentProcessingSurface {
  border-color: color-mix(in srgb, var(--stroke), transparent 10%);
  box-shadow: none;
  border-radius: 8px;
}

.adminDocumentProcessingSurfaceBody {
  gap: 10px;
  padding: 10px 12px;
}

.adminDocumentProcessingSection, .adminDocumentProcessingForm, .adminDocumentProcessingFormSection {
  gap: 9px;
}

.adminDocumentProcessingSectionHead .adminSettingsFieldHint, .adminDocumentProcessingFormSection > .adminSettingsFieldHint {
  display: none;
}

.adminDocumentProcessingOverviewGrid {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: #fff;
  border-radius: 8px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  display: grid;
  overflow: hidden;
}

.adminDocumentProcessingOverviewCard, .adminDocumentProcessingOverviewCard.adminFinanceStatusCard.isReady, .adminDocumentProcessingOverviewCard.adminFinanceStatusCard.isNeutral, .adminDocumentProcessingOverviewCard.adminFinanceStatusCard.isIncomplete, .adminDocumentProcessingOverviewCard.adminFinanceStatusCard.isWarning {
  border: 0;
  border-right: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  background: #fff;
  border-radius: 0;
  min-height: 82px;
  padding: 10px 12px;
}

.adminDocumentProcessingOverviewCard:last-child {
  border-right: 0;
}

.adminDocumentProcessingOverviewTitle {
  font-size: 13px;
  line-height: 1.18;
}

.adminDocumentProcessingOverviewMeta {
  font-size: 11.5px;
  line-height: 1.32;
}

.adminDocumentProcessingOverviewCard .pill, .adminDocumentProcessingRuntimeItem .pill, .adminDocumentProcessingPillRow .pill, .adminDocumentProcessingPromptFact .pill {
  min-height: 21px;
  padding: 0 7px;
  font-size: 10.5px;
  line-height: 1;
}

.adminDocumentProcessingRuntimeGrid {
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: none;
  border-radius: 0;
  gap: 0;
  overflow: hidden;
}

.adminDocumentProcessingRuntimeItem {
  border: 0;
  border-right: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  background: none;
  border-radius: 0;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 3px;
  min-height: 30px;
  padding: 4px 8px;
  display: grid;
}

.adminDocumentProcessingRuntimeGrid > .adminDocumentProcessingRuntimeItem:nth-child(3n), .adminDocumentProcessingRuntimeGrid > .adminDocumentProcessingRuntimeItem:last-child {
  border-right: 0;
}

.adminDocumentProcessingRuntimeItem .label, .adminDocumentProcessingPromptFact .label, .adminDocumentProcessingLedgerFields .label, .adminDocumentProcessingActionsPanel .label {
  letter-spacing: .052em;
  font-size: 10.5px;
}

.adminDocumentProcessingRuntimeItem .label {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.adminDocumentProcessingRuntimeItem strong, .adminDocumentProcessingRuntimeItem .adminDocumentProcessingTextBreak {
  font-size: 12.5px;
  line-height: 1.22;
}

.adminDocumentProcessingRuntimeValueStack {
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  min-width: 0;
  display: flex;
}

.adminDocumentProcessingRuntimeItemWide {
  grid-column: span 3;
}

.adminDocumentProcessingRuntimeGroups {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: none;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1fr) minmax(360px, .9fr);
  gap: 0;
  display: grid;
  overflow: hidden;
}

.adminDocumentProcessingRuntimeGroup {
  border-right: 1px solid color-mix(in srgb, var(--stroke), transparent 13%);
  align-content: start;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingRuntimeGroup:last-child {
  border-right: 0;
}

.adminDocumentProcessingRuntimeGroupTitle {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  min-width: 0;
  color: color-mix(in srgb, var(--fg), var(--muted) 20%);
  font-family: var(--font-condensed);
  margin: 0;
  padding: 8px 10px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.15;
}

.adminDocumentProcessingRuntimeGroup > .adminDocumentProcessingRuntimeGrid {
  border-top: 0;
  grid-template-columns: minmax(0, 1fr);
}

.adminDocumentProcessingRuntimeGroup .adminDocumentProcessingRuntimeItem {
  border-right: 0;
  grid-template-columns: minmax(150px, .44fr) minmax(0, 1fr);
  min-height: 34px;
  padding: 5px 10px;
}

.adminDocumentProcessingRuntimeGroup .adminDocumentProcessingRuntimeItem .label {
  text-overflow: clip;
  white-space: normal;
  overflow: visible;
}

.adminDocumentProcessingRuntimeGroup .adminDocumentProcessingRuntimeItem:last-child {
  border-bottom: 0;
}

.adminDocumentProcessingRuntimeGroupSchedule .adminDocumentProcessingRuntimeItem {
  grid-template-columns: minmax(166px, .48fr) minmax(0, 1fr);
}

.adminDocumentProcessingRuntimeGroup .adminDocumentProcessingRuntimeItemWide {
  grid-column: auto;
}

.adminDocumentProcessingDiagnostics {
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: none;
  border-radius: 0;
  margin-top: 0;
  padding: 7px 0 0;
}

.adminDocumentProcessingDiagnostics > .adminCompactDisclosureSummary .muted {
  display: none;
}

.adminDocumentProcessingPolicyActionGrid {
  grid-template-columns: minmax(0, 1.42fr) minmax(280px, .58fr);
  align-items: start;
  gap: 10px;
  display: grid;
}

.adminDocumentProcessingPolicyColumn {
  gap: 8px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingLedgerFields {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: none;
  border-radius: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  display: grid;
  overflow: hidden;
}

.adminDocumentProcessingLedgerFields > .field {
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  background: none;
  border-radius: 0;
  margin: 0;
  padding: 7px 9px;
}

.adminDocumentProcessingLedgerFields > .field:last-child {
  border-bottom: 0;
}

.adminDocumentProcessingLedgerFields .adminSettingsFieldHint, .adminDocumentProcessingActionsPanel .adminSettingsFieldHint {
  margin: 1px 0 0;
  font-size: 10.8px;
  line-height: 1.25;
}

.adminDocumentProcessingLedgerFields .adminBooleanFieldRow, .adminDocumentProcessingLedgerFields .adminChoiceFieldOption {
  min-height: 22px;
}

.adminDocumentProcessingLedgerFields .adminChoiceFieldGroup {
  gap: 5px;
}

.adminDocumentProcessingLedgerFields .adminChoiceFieldOption {
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 8px;
}

.adminDocumentProcessingLedgerFields .adminChoiceFieldOption input[type="radio"], .adminDocumentProcessingLedgerFields .adminBooleanFieldRow input[type="checkbox"] {
  width: 16px;
  height: 16px;
}

.adminDocumentProcessingLedgerFields .adminChoiceFieldHint, .adminDocumentProcessingLedgerFields .adminBooleanFieldHint, .adminDocumentProcessingLedgerFields > .field > .adminSettingsFieldHint {
  display: none;
}

.adminDocumentProcessingLedgerFields .input, .adminDocumentProcessingSupportCard .input, .adminDocumentProcessingMailboxGrid .input {
  min-height: 32px;
}

.adminDocumentProcessingLedgerFields .adminChoiceFieldLabel, .adminDocumentProcessingLedgerFields .adminBooleanFieldLabel {
  font-size: 13px;
  line-height: 1.22;
}

.adminDocumentProcessingActionsPanel {
  border: 0;
  border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  background: none;
  border-radius: 0;
  gap: 7px;
  min-width: 0;
  padding: 0 0 0 12px;
  display: grid;
}

.adminDocumentProcessingActionList {
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  border-radius: 0;
  gap: 0;
  display: grid;
  overflow: hidden;
}

.adminDocumentProcessingActionRow {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  background: none;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 7px 9px;
  display: grid;
}

.adminDocumentProcessingActionRow:last-child {
  border-bottom: 0;
}

.adminDocumentProcessingActionRow strong {
  font-size: 12.5px;
  line-height: 1.25;
}

.adminDocumentProcessingActionRow .btn {
  white-space: nowrap;
  min-height: 31px;
  padding-inline: 10px;
}

.adminDocumentProcessingActionsPanel .adminDocumentProcessingActionRow {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}

.adminDocumentProcessingActionsPanel .adminDocumentProcessingActionRow .btn {
  justify-content: center;
  width: 100%;
}

.adminDocumentProcessingProbeAction {
  gap: 9px;
}

.adminDocumentProcessingProbeAction .adminChoiceFieldGroup {
  gap: 4px;
}

.adminDocumentProcessingProbeFields {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingProbeFields .field {
  border: 0;
  gap: 4px;
  padding: 0;
}

.adminDocumentProcessingProbeResult {
  gap: 7px;
  min-width: 0;
  display: grid;
}

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

.adminDocumentProcessingProbeSamples {
  gap: 5px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingProbeSample {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  gap: 2px;
  min-width: 0;
  padding: 6px 0;
  display: grid;
}

.adminDocumentProcessingProfileStackShell {
  gap: 8px;
}

.adminDocumentProcessingProfileGrid {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: none;
  border-radius: 0;
  gap: 0;
  overflow: hidden;
}

.adminDocumentProcessingProfileCard {
  border: 0;
  border-radius: 0;
  gap: 0;
  padding: 0;
}

.adminDocumentProcessingProfileCard + .adminDocumentProcessingProfileCard {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
}

.adminDocumentProcessingProfileSummary {
  border-radius: 0;
  grid-template-columns: minmax(240px, .9fr) minmax(0, 1.1fr) auto;
  grid-template-areas: "top pills actions";
  align-items: center;
  gap: 8px;
  padding: 7px 9px;
}

.adminDocumentProcessingProfileSummary:hover {
  background: color-mix(in srgb, var(--focus), white 97%);
}

.adminDocumentProcessingProfileSummaryActions .btn, .adminDocumentProcessingStackRowActions .btn, .adminDocumentProcessingSecretActions .btn, .adminDocumentProcessingPrimaryActions .btn {
  min-height: 31px;
  padding-inline: 10px;
}

.adminDocumentProcessingProfileEditor {
  background: color-mix(in srgb, var(--bg-2), white 58%);
  padding: 9px;
}

.adminDocumentProcessingStackGrid {
  gap: 10px;
}

.adminDocumentProcessingStackCard {
  background: none;
  border: 0;
  border-radius: 0;
  gap: 7px;
  padding: 0;
}

.adminDocumentProcessingStackList {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: none;
  border-radius: 0;
  gap: 0;
  overflow: hidden;
}

.adminDocumentProcessingStackRow {
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  border-radius: 0;
  min-height: 34px;
  padding-block: 6px;
}

.adminDocumentProcessingStackRow:last-child {
  border-bottom: 0;
}

.adminDocumentProcessingSupportGrid {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  gap: 8px 12px;
  padding-top: 9px;
}

.adminDocumentProcessingSupportCard {
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
}

.adminDocumentProcessingMailboxGrid {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  grid-template-columns: minmax(0, 1fr) minmax(330px, .76fr);
  align-items: start;
  gap: 10px;
  margin-top: 2px;
  padding-top: 10px;
  display: grid;
}

.adminDocumentProcessingMailboxGrid > .adminDocumentProcessingFormSection {
  background: none;
  border: 0;
  border-radius: 0;
  align-self: start;
  height: auto;
  padding: 0;
}

.adminDocumentProcessingMailboxGrid > .adminDocumentProcessingFormSection + .adminDocumentProcessingFormSection {
  border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  padding-left: 10px;
}

.adminDocumentProcessingMailboxGrid .adminTemplateFieldsGrid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.adminDocumentProcessingMailboxGrid .adminTemplateFieldFull {
  grid-column: 1 / -1;
}

.adminDocumentProcessingMailboxGrid .adminChoiceFieldGroup {
  flex-wrap: wrap;
  gap: 7px 14px;
  display: flex;
}

.adminDocumentProcessingSecretBlock {
  gap: 8px;
}

.adminDocumentProcessingActionLane {
  align-items: flex-start;
}

.adminDocumentProcessingSecretActionLane {
  display: block;
}

.adminDocumentProcessingSecretBlock .adminSettingsFormMeta {
  font-size: 12px;
}

.adminDocumentProcessingCredentialStatus {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  background: none;
  border-radius: 0;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  min-height: 32px;
  padding: 6px 8px;
  display: flex;
}

.adminDocumentProcessingPromptCatalogSummary {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: none;
  border-radius: 0;
  gap: 8px;
  padding: 0 0 9px;
}

.adminDocumentProcessingPromptFact {
  background: none;
  border: 0;
  border-radius: 0;
  gap: 4px;
  padding: 0;
}

.adminDocumentProcessingPromptChip {
  min-height: 21px;
  padding: 0 7px;
  font-size: 10.5px;
}

.adminDocumentProcessingPromptWorkbench {
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  align-items: start;
  gap: 10px;
}

.adminDocumentProcessingPromptEditorCard, .adminDocumentProcessingPromptAside {
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
}

.adminDocumentProcessingPromptAside {
  border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  align-content: start;
  max-height: 320px;
  padding-left: 10px;
  overflow: auto;
}

.adminDocumentProcessingPromptCatalogTextarea {
  background: #fff;
  height: 200px;
  min-height: 180px;
  max-height: 220px;
  font-size: 11px;
  line-height: 1.35;
  overflow: auto;
}

.adminDocumentProcessingPromptCatalogActions {
  align-items: center;
}

.adminDocumentProcessingPromptCatalogActions .btn {
  flex: none;
  min-height: 32px;
}

.adminDocumentProcessingPromptPreviewDisclosure {
  background: none;
  border: 0;
  padding: 0;
}

.adminDocumentProcessingPromptPreviewDisclosure > .adminCompactDisclosureSummary {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  padding: 0 0 7px;
}

.adminDocumentProcessingPromptPreviewStack {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  gap: 0;
  margin-top: 7px;
}

.adminDocumentProcessingPromptPreview {
  background: none;
  border: 0;
  border-radius: 0;
  max-height: 110px;
  padding: 0;
  font-size: 10.5px;
  line-height: 1.35;
  overflow: auto;
}

.adminDocumentProcessingPromptPreviewStack .adminDocumentProcessingRuntimeItem {
  border-right: 0;
  grid-template-columns: minmax(120px, .28fr) minmax(0, 1fr);
  padding: 7px 0;
}

@media (max-width: 1180px) {
  .adminDocumentProcessingOverviewGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .adminDocumentProcessingOverviewCard:nth-child(2n) {
    border-right: 0;
  }

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

  .adminDocumentProcessingRuntimeGroup {
    border-right: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  }

  .adminDocumentProcessingRuntimeGroup:last-child {
    border-bottom: 0;
  }

  .adminDocumentProcessingPolicyActionGrid, .adminDocumentProcessingMailboxGrid, .adminDocumentProcessingPromptWorkbench {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminDocumentProcessingActionsPanel, .adminDocumentProcessingMailboxGrid > .adminDocumentProcessingFormSection + .adminDocumentProcessingFormSection, .adminDocumentProcessingPromptAside {
    border-left: 0;
    border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
    padding-top: 10px;
    padding-left: 0;
  }
}

@media (max-width: 760px) {
  .adminDocumentProcessingSurfaceBody {
    padding: 12px;
  }

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

  .adminDocumentProcessingOverviewCard, .adminDocumentProcessingOverviewCard:nth-child(2n) {
    border-right: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
    min-height: auto;
  }

  .adminDocumentProcessingOverviewCard:last-child {
    border-bottom: 0;
  }

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

  .adminDocumentProcessingRuntimeGrid > .adminDocumentProcessingRuntimeItem, .adminDocumentProcessingRuntimeGrid > .adminDocumentProcessingRuntimeItem:nth-child(3n) {
    border-right: 0;
  }

  .adminDocumentProcessingRuntimeItemWide {
    grid-column: auto;
  }

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

  .adminDocumentProcessingRuntimeGroup .adminDocumentProcessingRuntimeItem, .adminDocumentProcessingRuntimeGroupSchedule .adminDocumentProcessingRuntimeItem {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }

  .adminDocumentProcessingRuntimeItem .label {
    white-space: normal;
    overflow: visible;
  }

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

  .adminDocumentProcessingProfileSummary {
    grid-template-areas: "top"
                         "pills"
                         "actions";
  }

  .adminDocumentProcessingActionRow .btn, .adminDocumentProcessingActionsPanel .btn, .adminDocumentProcessingSecretActions .btn, .adminDocumentProcessingPrimaryActions .btn {
    width: 100%;
  }
}

.adminFinanceStatusChipRow {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.adminFinanceCompactDetails, .adminCompactDisclosure {
  gap: 10px;
  display: grid;
}

.adminFinanceCompactDetailsSummary, .adminCompactDisclosureSummary {
  cursor: pointer;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  list-style: none;
  display: flex;
}

.adminFinanceCompactDetailsSummary::-webkit-details-marker {
  display: none;
}

.adminCompactDisclosureSummary::-webkit-details-marker {
  display: none;
}

.adminFinancePanelActionsSticky {
  z-index: 2;
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 6%);
  background: color-mix(in srgb, white, var(--bg-2) 22%);
  padding: 12px;
  display: grid;
  position: sticky;
  bottom: 0;
  box-shadow: 0 -8px 24px #2721140f;
}

.adminFinanceDecisionFooterActions {
  justify-content: flex-end;
  display: flex;
}

.adminFinanceReviewFormEnd {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  gap: 12px;
  margin-top: 8px;
  padding-top: 12px;
  display: grid;
}

@media (max-width: 1080px) {
  .adminFinanceModePicker, .adminFinanceIntakeGrid {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminFinanceReviewHead, .adminFinanceReviewEvidenceRail, .adminFinanceReviewTabs {
    position: static;
  }

  .adminFinanceReviewExperience, .adminFinanceReviewStructureRule, .adminFinanceReviewStructureRule.isEvidenceCollapsed, .adminFinanceReviewStructureRule.isEvidenceOpen, .adminFinanceReviewWorkspace, .adminFinanceReviewWorkspace.isEvidenceCollapsed, .adminFinanceReviewWorkspace.isEvidenceOpen, .adminFinanceReviewGrid, .adminFinanceReviewSummaryBar, .adminFinanceReviewSummaryStrip, .adminFinanceReviewSummaryGrid, .adminFinanceReviewAttentionGrid, .adminFinanceCorrectionValues, .adminFinanceExtractionFieldGrid, .adminFinanceAllocationSummaryGrid, .adminFinanceCostControlDiscrepancyGrid, .adminFinanceCostControlDiscrepancyValues, .adminFinanceCostControlSummaryLayout, .adminFinanceCostControlSummaryContextGrid, .adminFinanceCostControlFeedGrid, .adminDocumentProcessingRuntimeGrid, .adminFinanceUploadMetaGrid, .adminFinanceCostControlSourceRow {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminFinanceCostControlSourceAction {
    justify-self: start;
  }

  .adminFinanceReviewEvidenceBody, .adminFinanceReviewWorkspaceBody {
    max-height: none;
    overflow: visible;
  }

  .adminFinanceReviewWorkspaceSplitter {
    display: none;
  }

  .adminFinanceReviewHeadActions, .adminFinanceReviewTitleActions, .adminFinanceReviewRailModes {
    justify-content: flex-start;
  }

  .adminFinanceReviewTitleActions {
    width: 100%;
  }

  .adminFinanceReviewAutosaveStatus {
    justify-content: space-between;
    width: 100%;
  }

  .adminFinanceReviewStructureRuleSplitter {
    display: none;
  }

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

  .adminFinanceReviewSummaryActions, .adminFinanceDecisionFooterActions {
    justify-content: flex-start;
  }

  .adminFinanceDecisionFooterActions > .btn {
    width: 100%;
  }

  .adminFinanceUploadActions, .adminFinanceUploadSubmitRow {
    justify-content: flex-start;
    width: 100%;
  }

  .adminFinanceCompareStrip {
    grid-template-columns: minmax(0, 1fr);
    align-items: flex-start;
  }

  .adminFinanceCompareActions {
    justify-content: flex-start;
    display: flex;
  }

  .adminFinanceCompareDiffValues {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
  }

  .adminFinanceReviewFieldPrimary, .adminDocumentProcessingRuntimeItemWide {
    grid-column: auto;
  }

  .adminFinanceAllocationLineSeedCard {
    flex-direction: column;
  }

  .adminFinanceSiteBulkTrayGrid {
    grid-template-columns: 1fr;
  }

  .adminFinanceSiteBulkTrayHead {
    flex-direction: column;
  }

  .adminFinanceFuelBulkTrayUtilities {
    width: 100%;
  }

  .adminFinanceAllocationRowActions {
    justify-content: flex-start;
  }

  .adminFinanceSupplierSuggestionHead, .adminFinanceSupplierDecisionHeader {
    flex-direction: column;
    align-items: flex-start;
  }

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

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

@container allocation-manual (max-width: 720px) {
  .adminFinanceAllocationField.isTarget {
    flex-basis: 88px;
  }

  .adminFinanceAllocationField.isSite {
    flex-basis: 164px;
  }

  .adminFinanceAllocationField.isAmount {
    flex-basis: 132px;
  }

  .adminFinanceAllocationField.isNote {
    flex-basis: 136px;
  }

  .adminFinanceAllocationField.isAction {
    flex-basis: auto;
  }

  .adminFinanceAllocationRowActions {
    justify-content: flex-end;
  }
}

@media (max-width: 720px) {
  .adminFinanceSupplierSuggestionGrid, .adminFinanceSupplierSuggestionRow, .adminFinanceSupplierSuggestionRow .adminFinanceSupplierSuggestionHead {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminFinanceSupplierSuggestionStatusRail {
    text-align: left;
    grid-template-columns: auto auto;
    justify-content: start;
    place-items: center start;
    min-height: 0;
  }

  .adminFinanceSupplierSuggestionRow .adminFinanceSupplierSuggestionActions {
    flex-direction: row;
    grid-area: auto / 1;
    justify-content: flex-start;
    justify-self: stretch;
    min-width: 0;
  }

  .adminFinanceFilterRowThreeFields, .adminFinanceFilterRowDatesClear, .adminFinanceFilterRowSiteDatesClear, .adminFinanceFilterRowSiteClear {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminFinanceCostControlActionField {
    justify-self: stretch;
    width: 100%;
    max-width: none;
  }

  .adminFinanceDropzone {
    text-align: left;
    grid-template-columns: minmax(0, 1fr);
  }

  .adminFinanceCostControlTableToolbarField {
    max-width: none;
  }

  .adminFinanceCostControlTableToolbarMeta {
    justify-content: flex-start;
    width: 100%;
  }

  .adminFinanceDropzoneIcon {
    width: 42px;
    height: 42px;
  }

  .adminFinanceUploadQueueItem {
    flex-direction: column;
    align-items: flex-start;
  }

  .adminFinanceAcceptedAllocationTable {
    min-width: 600px;
  }

  .adminFinanceAcceptedFuelTable {
    min-width: 760px;
  }

  .adminFinanceAcceptedFuelDetailWrap {
    padding-left: 14px;
  }
}

.adminDirectoryActionsCell {
  text-align: right;
  width: 104px;
}

.adminDirectoryPrimaryCell {
  align-items: center;
  gap: 6px;
  min-width: 0;
  display: inline-flex;
}

.adminDirectoryPrimaryValue {
  min-width: 0;
}

.adminDirectoryInlineStatusBadge {
  flex-shrink: 0;
}

.adminVehicleModelCell {
  min-width: 0;
}

.adminVehicleModelInline {
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  min-width: 0;
  max-width: 100%;
  display: inline-flex;
}

.adminVehicleModelName {
  min-width: 0;
}

.adminVehicleTourismBadge {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 62%);
  background: color-mix(in srgb, var(--focus), white 91%);
  min-height: 20px;
  color: color-mix(in srgb, var(--focus), black 16%);
  white-space: nowrap;
  border-radius: 999px;
  align-items: center;
  padding: 2px 7px;
  font-size: 11px;
  font-weight: 720;
  line-height: 1;
  display: inline-flex;
}

.adminVehicleItvListCell {
  min-width: 132px;
}

.adminVehicleItvListStatus {
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  min-width: 0;
  display: inline-flex;
}

.adminVehicleItvListDate {
  color: color-mix(in srgb, var(--fg), black 8%);
  white-space: nowrap;
  font-weight: 650;
}

.adminVehicleItvListBadge {
  flex-shrink: 0;
}

.adminVehicleItvListBadge.pillStatusRejected {
  color: color-mix(in srgb, var(--danger), black 18%);
}

.adminDirectoryRowActions {
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  width: 100%;
  display: inline-flex;
}

.adminPeriodActionsCell {
  text-align: right;
  min-width: 178px;
}

.adminPeriodRowActions {
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  width: 100%;
  display: inline-flex;
}

.adminPeriodDeleteBtn {
  white-space: nowrap;
  border-radius: 8px;
  min-height: 40px;
}

.adminOperationsListPage .adminListTable th, .adminOperationsListPage .adminListTable td {
  vertical-align: middle;
}

.adminSettingsBrowsePage .adminListTableWrap, .adminOperationsListPage .adminListTableWrap {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: #fff;
  border-radius: 12px;
}

.adminSettingsBrowsePage .adminListTable thead th, .adminOperationsListPage .adminListTable thead th {
  color: color-mix(in srgb, var(--fg), black 8%);
  font-size: var(--ops-font-table-header, 13px);
  letter-spacing: .01em;
  background: #f8fafc;
  padding-top: 13px;
  padding-bottom: 13px;
  line-height: 1.2;
}

.adminOperationsListPage .adminListTable tbody td {
  font-size: var(--ops-font-row, 13px);
}

.adminOperationsListPage, .adminTimesheetDetailReviewStrip {
  --ops-font-table-header: 13px;
  --ops-font-row: 13px;
  --ops-font-primary: 13px;
  --ops-font-meta: 12px;
  --ops-font-chip: 12px;
  --ops-font-micro: 11px;
  --ops-font-action: 12px;
  --timesheet-status-track: #e6ebf1;
  --timesheet-status-neutral: #64748b;
  --timesheet-status-amber: #d29421;
  --timesheet-status-amber-text: #8a5714;
  --timesheet-status-amber-bg: #fff8eb;
  --timesheet-status-amber-border: #efd29d;
  --timesheet-status-red: #cf4c55;
  --timesheet-status-red-text: #9f2732;
  --timesheet-status-red-bg: #fff5f6;
  --timesheet-status-red-border: #efc8ce;
  --timesheet-status-green: #2f8f61;
  --timesheet-status-green-text: #206b45;
  --timesheet-status-green-bg: #f2fbf6;
  --timesheet-status-green-border: #bfdfcc;
  --timesheet-status-blue: #326fd1;
  --timesheet-status-blue-text: #2859ae;
  --timesheet-status-blue-bg: #f2f7ff;
  --timesheet-status-blue-border: #c6d7f5;
  --timesheet-status-variance: #4f8fa3;
  --timesheet-status-variance-text: #2f6473;
  --timesheet-status-variance-extra-text: #0e7490;
}

.adminOperationsTableLink {
  color: inherit;
  text-underline-offset: 2px;
  border-radius: 3px;
  text-decoration: none;
}

.adminOperationsTableLink:hover {
  text-decoration: underline;
}

.adminOperationsTableLink:focus-visible {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), transparent 68%);
  outline: none;
  text-decoration: underline;
}

.adminOperationsListPage .adminUsersNameLine {
  font-size: var(--ops-font-primary, 13px);
  line-height: 1.2;
}

.adminOperationsListPage .adminUsersNameMeta, .adminOperationsListPage .adminUsersNameMeta .muted {
  font-size: var(--ops-font-meta, 12px);
  line-height: 1.18;
}

.adminOperationsQuickActions {
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 6px;
  display: flex;
}

.adminOperationsQuickActions .btn {
  min-height: 32px;
  font-size: var(--ops-font-action, 12px);
  padding: 5px 10px !important;
}

.adminOperationsApprovalsPage {
  gap: 18px;
}

.adminApprovalsListSurface {
  overflow-anchor: none;
  gap: 0;
  padding-top: 4px;
  display: grid;
  position: relative;
}

.adminApprovalsResultsCard {
  box-shadow: none;
  background: none;
  border: 0;
}

.adminApprovalsResultsBody {
  gap: 12px;
  padding: 0;
}

.adminApprovalsResultsBody .adminEmptyText {
  margin-top: 0;
}

.adminApprovalsTableWrap {
  overflow-anchor: none;
  overflow: auto hidden;
}

.adminOperationsTimesheetsTable {
  table-layout: fixed;
  min-width: 1038px;
}

.adminTimesheetsMonthWorkbenchHeader {
  justify-content: flex-start;
  align-items: center;
  gap: 12px;
  margin-top: -2px;
  display: flex;
}

.adminTimesheetsMonthNavCluster {
  align-items: center;
  gap: 12px;
  min-width: 0;
  display: flex;
}

.adminTimesheetsMonthPickerBar {
  width: auto;
  min-width: 0;
}

.adminTimesheetsMonthPickerBar .timesheetMonthNav {
  grid-template-columns: 44px auto 44px;
  gap: 8px;
  width: auto;
}

.adminTimesheetsMonthPickerBar .timesheetMonthNavBtn {
  color: var(--fg);
  border: 1px solid var(--stroke) !important;
  background: #fff !important;
  border-radius: 10px !important;
}

.adminTimesheetsMonthPickerBar .timesheetMonthNavBtn:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--focus), transparent 58%) !important;
  background: color-mix(in srgb, var(--focus), white 94%) !important;
}

.adminTimesheetsMonthPickerBar .timesheetMonthNavTrigger {
  letter-spacing: 0;
  border-radius: 10px;
  max-width: none;
  padding: 0 8px;
  font-size: 22px;
  font-weight: 800;
}

.adminTimesheetsMonthPickerBar .timesheetMonthNavLabelChevron {
  opacity: .62;
  flex-basis: 8px;
  width: 8px;
  height: 8px;
}

.adminTimesheetsMonthNavButton {
  width: 44px;
  min-width: 44px;
  height: 44px;
  padding: 0 !important;
}

.adminTimesheetsMonthTitle {
  min-height: 44px;
  color: var(--fg);
  letter-spacing: 0;
  white-space: nowrap;
  align-items: center;
  gap: 11px;
  font-size: 22px;
  font-weight: 800;
  display: inline-flex;
}

.adminTimesheetsMonthTitle svg {
  color: var(--muted);
}

.adminTimesheetsTodayButton {
  gap: 8px;
  min-height: 44px;
  padding: 0 16px !important;
}

.adminTimesheetsAttentionFilterField {
  grid-area: period;
  align-items: end;
  min-width: 0;
  display: flex;
}

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

.adminTimesheetsAttentionFilterButton {
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  width: fit-content;
  min-width: 218px;
  max-width: 100%;
  min-height: 44px;
  color: var(--fg);
  font: inherit;
  cursor: pointer;
  background: #fff;
  justify-content: flex-start;
  align-items: center;
  gap: 9px;
  padding: 0 14px;
  font-weight: 700;
  transition: border-color .15s, background .15s, color .15s;
  display: inline-flex;
}

.adminTimesheetsAttentionFilterButton svg {
  color: var(--timesheet-status-amber-text);
}

.adminTimesheetsAttentionFilterButton:hover {
  border-color: var(--timesheet-status-amber-border);
  background: var(--timesheet-status-amber-bg);
}

.adminTimesheetsAttentionFilterButton.isActive {
  border-color: var(--timesheet-status-amber-border);
  background: var(--timesheet-status-amber-bg);
  color: var(--timesheet-status-amber-text);
}

.adminTimesheetsMonthSummaryStrip {
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  background: #fff;
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

.adminTimesheetsMonthSummaryList {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.adminTimesheetsMonthSummaryStrip.hasExtra .adminTimesheetsMonthSummaryList {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.adminTimesheetsMonthSummaryRow {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  min-width: 0;
  display: grid;
}

.adminTimesheetsSummaryRowsField {
  justify-self: end;
}

@media (max-width: 760px) {
  .adminTimesheetsMonthSummaryRow {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminTimesheetsSummaryRowsField {
    justify-self: start;
  }
}

.adminTimesheetsMonthSummaryItem {
  border-right: 1px solid color-mix(in srgb, var(--stroke), white 34%);
  min-width: 0;
  min-height: 76px;
  color: var(--fg);
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 12px 13px;
  display: grid;
}

.adminTimesheetsMonthSummaryCopy {
  align-content: center;
  gap: 3px;
  min-width: 0;
  display: grid;
}

.adminTimesheetsMonthSummaryValue {
  color: var(--fg);
  font-variant-numeric: tabular-nums;
  letter-spacing: -.025em;
  white-space: nowrap;
  font-size: 20px;
  font-weight: 780;
  line-height: 1;
}

.adminTimesheetsMonthSummaryLabel {
  color: color-mix(in srgb, var(--muted), var(--fg) 16%);
  font-size: var(--ops-font-micro, 11px);
  font-weight: 700;
  line-height: 1.15;
}

.adminTimesheetsMonthSummarySubLabel {
  color: color-mix(in srgb, var(--muted), black 4%);
  white-space: nowrap;
  font-size: 10px;
  font-weight: 620;
  line-height: 1.15;
}

.adminTimesheetsMonthSummaryIcon {
  width: 28px;
  height: 28px;
  color: color-mix(in srgb, var(--muted), var(--fg) 10%);
  background: color-mix(in srgb, var(--bg-2), white 64%);
  border-radius: 8px;
  justify-content: center;
  align-self: start;
  align-items: center;
  display: inline-flex;
}

.adminTimesheetsMonthSummaryItem:last-child {
  border-right: 0;
}

.adminTimesheetsMonthSummaryItem.isWorkers .adminTimesheetsMonthSummaryIcon {
  color: var(--timesheet-status-blue);
  background: color-mix(in srgb, var(--timesheet-status-blue), white 92%);
}

.adminTimesheetsMonthSummaryItem.isReady.hasValue .adminTimesheetsMonthSummaryValue, .adminTimesheetsMonthSummaryItem.isReady.hasValue .adminTimesheetsMonthSummaryIcon {
  color: var(--timesheet-status-blue);
}

.adminTimesheetsMonthSummaryItem.isReady.hasValue .adminTimesheetsMonthSummaryIcon {
  background: color-mix(in srgb, var(--timesheet-status-blue), white 92%);
}

.adminTimesheetsMonthSummaryItem.isAttention.hasValue {
  background: color-mix(in srgb, var(--timesheet-status-red), white 96%);
}

.adminTimesheetsMonthSummaryItem.isAttention.hasValue .adminTimesheetsMonthSummaryValue, .adminTimesheetsMonthSummaryItem.isAttention.hasValue .adminTimesheetsMonthSummaryIcon {
  color: var(--timesheet-status-red);
}

.adminTimesheetsMonthSummaryItem.isAttention.hasValue .adminTimesheetsMonthSummaryIcon {
  background: color-mix(in srgb, var(--timesheet-status-red), white 92%);
}

.adminTimesheetsMonthSummaryItem.isAccepted.hasValue .adminTimesheetsMonthSummaryValue, .adminTimesheetsMonthSummaryItem.isAccepted.hasValue .adminTimesheetsMonthSummaryIcon, .adminTimesheetsMonthSummaryItem.isSigned.hasValue .adminTimesheetsMonthSummaryValue, .adminTimesheetsMonthSummaryItem.isSigned.hasValue .adminTimesheetsMonthSummaryIcon {
  color: var(--timesheet-status-green);
}

.adminTimesheetsMonthSummaryItem.isAccepted.hasValue .adminTimesheetsMonthSummaryIcon, .adminTimesheetsMonthSummaryItem.isSigned.hasValue .adminTimesheetsMonthSummaryIcon {
  background: color-mix(in srgb, var(--timesheet-status-green), white 92%);
}

.adminTimesheetsMonthSummaryItem.isReports.hasValue .adminTimesheetsMonthSummaryValue, .adminTimesheetsMonthSummaryItem.isReports.hasValue .adminTimesheetsMonthSummaryIcon {
  color: var(--timesheet-status-blue);
}

.adminTimesheetsMonthSummaryItem.isReports.hasValue .adminTimesheetsMonthSummaryIcon {
  background: color-mix(in srgb, var(--timesheet-status-blue), white 92%);
}

.adminTimesheetsMonthSummaryItem.isReportsComplete .adminTimesheetsMonthSummaryValue, .adminTimesheetsMonthSummaryItem.isReportsComplete .adminTimesheetsMonthSummaryIcon {
  color: var(--timesheet-status-green);
}

.adminTimesheetsMonthSummaryItem.isReportsComplete .adminTimesheetsMonthSummaryIcon {
  background: color-mix(in srgb, var(--timesheet-status-green), white 92%);
}

.adminTimesheetsMonthSummaryItem.isReportExtra {
  background: color-mix(in srgb, var(--timesheet-status-amber), white 96%);
}

.adminTimesheetsMonthSummaryItem.isReportExtra .adminTimesheetsMonthSummaryValue, .adminTimesheetsMonthSummaryItem.isReportExtra .adminTimesheetsMonthSummaryIcon {
  color: var(--timesheet-status-amber);
}

.adminTimesheetsMonthSummaryItem.isReportExtra .adminTimesheetsMonthSummaryIcon {
  background: color-mix(in srgb, var(--timesheet-status-amber), white 91%);
}

.adminTimesheetsColUser {
  width: 185px;
}

.adminTimesheetsColProgress {
  width: 194px;
}

.adminTimesheetsColMissing {
  width: 248px;
}

.adminTimesheetsColNonWorked {
  width: 84px;
}

.adminTimesheetsColStatus {
  width: 118px;
}

.adminTimesheetsColDocument {
  width: 112px;
}

.adminTimesheetsColActions {
  width: 96px;
}

.adminTimesheetsWorkerCell {
  align-items: center;
  gap: 12px;
  min-width: 0;
  display: flex;
}

.adminTimesheetsWorkerAvatar {
  flex: none;
}

.adminTimesheetsMetricCell {
  min-width: 0;
  color: var(--fg);
  align-content: center;
  gap: 3px;
  font-weight: 760;
  display: grid;
}

.adminTimesheetsMetricCell .muted {
  font-size: var(--ops-font-meta, 12px);
  font-weight: 650;
}

.adminTimesheetsProgressCell {
  --admin-timesheets-progress: 0%;
  --admin-timesheets-report-progress: 0%;
  min-width: 0;
  max-width: 232px;
  color: var(--fg);
  grid-template-columns: auto minmax(34px, auto) minmax(78px, 1fr);
  align-items: center;
  gap: 4px 7px;
  display: grid;
}

.adminTimesheetsCoverageLabel {
  color: color-mix(in srgb, var(--muted), black 5%);
  font-size: var(--ops-font-micro, 11px);
  text-transform: uppercase;
  white-space: nowrap;
  font-weight: 790;
  line-height: 1;
}

.adminTimesheetsTimeCoverageLabel {
  color: color-mix(in srgb, var(--muted), black 10%);
}

.adminTimesheetsProgressPercent {
  color: var(--fg);
  white-space: nowrap;
  font-weight: 800;
  line-height: 1;
}

.adminTimesheetsProgressTrack {
  background: var(--timesheet-status-track);
  border-radius: 999px;
  min-width: 0;
  height: 7px;
  position: relative;
  overflow: hidden;
}

.adminTimesheetsProgressBar {
  width: var(--admin-timesheets-progress);
  border-radius: inherit;
  background: var(--timesheet-status-amber);
  min-width: 0;
  position: absolute;
  inset: 0 auto 0 0;
}

.adminTimesheetsProgressCell.isComplete .adminTimesheetsProgressBar {
  background: var(--timesheet-status-green);
}

.adminTimesheetsProgressCell.isEmpty .adminTimesheetsProgressBar {
  background: var(--timesheet-status-red);
}

.adminTimesheetsProgressCell.isNotDue .adminTimesheetsProgressBar {
  background: var(--timesheet-status-neutral);
}

.adminTimesheetsProgressHours, .adminTimesheetsProgressDays {
  font-size: var(--ops-font-meta, 12px);
  white-space: nowrap;
  grid-column: 1 / -1;
  font-weight: 650;
  line-height: 1.15;
}

.adminTimesheetsReportCoverage {
  border-top: 1px solid color-mix(in srgb, var(--stroke), white 36%);
  grid-column: 1 / -1;
  grid-template-columns: auto auto minmax(64px, 1fr);
  align-items: center;
  gap: 3px 6px;
  min-width: 0;
  margin-top: 5px;
  padding-top: 6px;
  display: grid;
}

.adminTimesheetsReportCoverageLabel {
  color: var(--muted);
  font-size: var(--ops-font-micro, 11px);
  text-transform: uppercase;
  font-weight: 780;
  line-height: 1;
}

.adminTimesheetsReportCoveragePercent {
  color: var(--timesheet-status-amber-text);
  font-size: var(--ops-font-meta, 12px);
  white-space: nowrap;
  font-weight: 830;
  line-height: 1;
}

.adminTimesheetsReportCoverageTrack {
  background: var(--timesheet-status-track);
  border-radius: 999px;
  min-width: 0;
  height: 5px;
  position: relative;
  overflow: hidden;
}

.adminTimesheetsReportCoverageTrack span {
  width: var(--admin-timesheets-report-progress);
  border-radius: inherit;
  background: var(--timesheet-status-amber);
  position: absolute;
  inset: 0 auto 0 0;
}

.adminTimesheetsReportCoverage.isComplete .adminTimesheetsReportCoveragePercent {
  color: var(--timesheet-status-green-text);
}

.adminTimesheetsReportCoverage.isComplete .adminTimesheetsReportCoverageTrack span {
  background: var(--timesheet-status-green);
}

.adminTimesheetsReportCoverage.isMatched .adminTimesheetsReportCoveragePercent {
  color: color-mix(in srgb, var(--timesheet-status-neutral), var(--fg) 12%);
}

.adminTimesheetsReportCoverage.isMatched .adminTimesheetsReportCoverageTrack span {
  background: color-mix(in srgb, var(--timesheet-status-neutral), white 24%);
}

.adminTimesheetsReportCoverage.isExtra .adminTimesheetsReportCoveragePercent {
  color: var(--timesheet-status-variance-text);
}

.adminTimesheetsReportCoverage.isExtra .adminTimesheetsReportCoverageTrack span {
  background: var(--timesheet-status-variance);
}

.adminTimesheetsReportCoverage.isEmpty .adminTimesheetsReportCoveragePercent {
  color: var(--timesheet-status-amber-text);
}

.adminTimesheetsReportCoverage.isEmpty .adminTimesheetsReportCoverageTrack span {
  background: var(--timesheet-status-amber);
}

.adminTimesheetsReportCoverage.isNoBaseline {
  grid-template-columns: auto minmax(0, 1fr);
}

.adminTimesheetsReportCoverageHours, .adminTimesheetsReportCoverageExtra {
  font-size: var(--ops-font-micro, 11px);
  white-space: nowrap;
  grid-column: 1 / -1;
  font-weight: 690;
  line-height: 1.15;
}

.adminTimesheetsReportCoverageExtra {
  color: var(--timesheet-status-variance-extra-text);
  font-weight: 820;
}

.adminTimesheetsMissingPreview {
  grid-template-columns: minmax(88px, 1fr) max-content;
  justify-content: start;
  align-items: center;
  column-gap: 22px;
  width: min(100%, 252px);
  min-width: 0;
  display: grid;
}

.adminTimesheetsMissingSummary {
  gap: 4px;
  width: fit-content;
  min-width: 0;
  max-width: 88px;
  display: grid;
}

.adminTimesheetsMissingSummary .adminTimesheetsMissingCount {
  width: 100%;
  min-height: 0;
  color: var(--muted);
  font-size: var(--ops-font-primary, 13px);
  white-space: normal;
  font-weight: 820;
  line-height: 1.08;
}

.adminTimesheetsMissingSummary .adminTimesheetsMissingCount svg {
  color: currentColor;
  flex: 0 0 15px;
  width: 15px;
  height: 15px;
}

.adminTimesheetsMissingSummary.isAttention .adminTimesheetsMissingCount {
  color: var(--timesheet-status-red);
}

.adminTimesheetsMissingSummary.isAttention .adminTimesheetsMissingCount.isReportAttention {
  color: var(--timesheet-status-amber-text);
}

.adminTimesheetsMissingSummary:not(.isAttention) .adminTimesheetsMissingCount, .adminTimesheetsMissingSummary:not(.isAttention) .adminTimesheetsMissingCount svg {
  color: #64748b;
}

.adminTimesheetsMissingRanges {
  min-width: 0;
  color: color-mix(in srgb, var(--muted), black 8%);
  font-size: var(--ops-font-meta, 12px);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 720;
  line-height: 1.15;
  display: block;
  overflow: hidden;
}

.adminTimesheetsWorkableStrip {
  border-inline-start: 1px solid color-mix(in srgb, var(--border), transparent 18%);
  align-content: center;
  gap: 7px;
  min-width: 108px;
  padding-inline-start: 10px;
  display: grid;
}

.adminTimesheetsWorkableRow {
  gap: 4px;
  display: grid;
}

.adminTimesheetsWorkableLabels, .adminTimesheetsWorkableDots {
  grid-template-columns: repeat(5, 17px);
  justify-content: start;
  align-items: center;
  gap: 5px;
  display: grid;
}

.adminTimesheetsWorkableLabels {
  color: color-mix(in srgb, var(--muted), black 12%);
  font-size: var(--ops-font-micro, 11px);
  text-align: center;
  font-weight: 790;
  line-height: 1;
}

.adminTimesheetsWorkableLabels span {
  display: block;
}

.adminTimesheetsDayStateDot {
  border-radius: 999px;
  justify-content: center;
  justify-self: center;
  align-items: center;
  width: 10px;
  height: 10px;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  display: inline-flex;
}

.adminTimesheetsDayStateDot.isWorked {
  background: var(--timesheet-status-green);
}

.adminTimesheetsDayStateDot.isMissing {
  background: var(--timesheet-status-red);
}

.adminTimesheetsDayStateDot.isMissing.isMuted {
  background: none;
  border: 2px solid #64748b;
}

.adminTimesheetsDayStateDot.isWeekend {
  background: #94a3b8;
  border-radius: 999px;
  width: 10px;
  height: 2px;
}

.adminTimesheetsDayStateDot.isHoliday, .adminTimesheetsDayStateDot.isDayOff, .adminTimesheetsDayStateDot.isAbsence {
  border: 1px solid var(--calendar-holiday-border);
  background: var(--calendar-holiday-base);
  width: 16px;
  height: 16px;
}

.adminTimesheetsDayStateDot.isDayOff {
  border-color: var(--calendar-day-off-border);
  background: var(--calendar-day-off-base);
}

.adminTimesheetsDayStateDot.isAbsence {
  border-color: var(--calendar-absence-border);
  background: var(--calendar-absence-base);
}

.adminTimesheetsDayStateDot.isOutside {
  background: none;
  border: 2px solid #d1d5db;
  width: 11px;
  height: 11px;
}

.adminTimesheetsDayStateDot.isSplit {
  --admin-timesheets-time-dot: color-mix(in srgb, var(--timesheet-status-neutral), white 18%);
  --admin-timesheets-report-dot: color-mix(in srgb, var(--timesheet-status-neutral), white 18%);
  width: 16px;
  height: 16px;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--border), transparent 22%);
  background: none;
  position: relative;
  overflow: hidden;
}

.adminTimesheetsDayStateDot.isSplit:before, .adminTimesheetsDayStateDot.isSplit:after {
  content: "";
  position: absolute;
  inset: 0;
}

.adminTimesheetsDayStateDot.isSplit:before {
  background: var(--admin-timesheets-time-dot);
  clip-path: polygon(0 0, 100% 0, 0 100%);
}

.adminTimesheetsDayStateDot.isSplit:after {
  background: var(--admin-timesheets-report-dot);
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}

.adminTimesheetsDayStateDot.isSplit.isTimeOk {
  --admin-timesheets-time-dot: var(--timesheet-status-green);
}

.adminTimesheetsDayStateDot.isSplit.isTimeMissing {
  --admin-timesheets-time-dot: var(--timesheet-status-red);
}

.adminTimesheetsDayStateDot.isSplit.isTimeReview {
  --admin-timesheets-time-dot: var(--timesheet-status-amber);
}

.adminTimesheetsDayStateDot.isSplit.isReportOk {
  --admin-timesheets-report-dot: var(--timesheet-status-green);
}

.adminTimesheetsDayStateDot.isSplit.isReportMissing {
  --admin-timesheets-report-dot: var(--timesheet-status-red);
}

.adminTimesheetsDayStateDot.isSplit.isReportReview {
  --admin-timesheets-report-dot: var(--timesheet-status-amber);
}

.adminTimesheetsMissingCount {
  min-width: 0;
  min-height: 28px;
  color: var(--muted);
  white-space: normal;
  align-items: center;
  gap: 7px;
  font-weight: 720;
  display: inline-flex;
}

.adminTimesheetsMissingCount span {
  overflow-wrap: anywhere;
  min-width: 0;
}

.adminTimesheetsMissingCount.isAttention {
  color: var(--timesheet-status-red-text);
}

.adminTimesheetsMissingCount.isAttention svg {
  color: var(--timesheet-status-red);
}

.adminTimesheetsDayLegend {
  color: color-mix(in srgb, var(--muted), black 8%);
  font-size: var(--ops-font-meta, 12px);
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  padding: 12px 16px;
  font-weight: 650;
  display: flex;
}

.adminTimesheetsDayLegendItem {
  white-space: nowrap;
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.adminTimesheetsLegendAttentionIcon {
  color: var(--timesheet-status-red);
}

.adminTimesheetsReviewPillPending, .adminTimesheetsReviewPillAttention {
  border-color: var(--timesheet-status-amber-border);
  background: var(--timesheet-status-amber-bg);
  color: var(--timesheet-status-amber-text);
}

.adminTimesheetsReviewPillReady {
  border-color: var(--timesheet-status-blue-border);
  background: var(--timesheet-status-blue-bg);
  color: var(--timesheet-status-blue-text);
}

.adminTimesheetsReviewPillNotDue {
  color: #475569;
  background: #f8fafc;
  border-color: #64748b47;
}

.adminTimesheetsDocumentCell {
  min-width: 0;
  color: var(--fg);
  font-size: var(--ops-font-primary, 13px);
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 2px 8px;
  font-weight: 700;
  display: grid;
}

.adminTimesheetsDocumentCell svg {
  color: var(--timesheet-status-blue);
  grid-row: span 2;
}

.adminTimesheetsDocumentCell.isSigned svg {
  color: var(--timesheet-status-green);
}

.adminTimesheetsDocumentCell .muted {
  font-size: var(--ops-font-meta, 12px);
  font-weight: 650;
}

.adminOperationsReportsTable {
  table-layout: fixed;
}

.adminReportsColDate {
  width: 116px;
}

.adminReportsColUser {
  width: 198px;
}

.adminReportsColStatus {
  width: 162px;
}

.adminReportsColSite {
  width: auto;
}

.adminReportsColWorked {
  width: 112px;
}

.adminReportsColTickets {
  width: 86px;
}

.adminReportsSiteStack {
  gap: 1px;
  min-width: 0;
  display: grid;
}

.adminReportsWorkedStack {
  align-content: start;
  gap: 2px;
  display: grid;
}

.adminReportsSiteCode, .adminReportsSiteAddress {
  white-space: nowrap;
  text-overflow: ellipsis;
  display: block;
  overflow: hidden;
}

.adminReportsSiteCode {
  font-size: var(--ops-font-primary, 13px);
  color: color-mix(in srgb, var(--fg), black 8%);
  line-height: 1.05;
}

.adminReportsSiteAddress {
  font-size: var(--ops-font-meta, 12px);
  color: var(--muted);
  line-height: 1.05;
}

.adminApprovalsTable {
  table-layout: fixed;
}

.adminApprovalsTable th, .adminApprovalsTable td {
  vertical-align: top;
}

.adminApprovalsResultsBody .adminApprovalsTable thead th {
  color: color-mix(in srgb, var(--fg), black 8%);
  font-size: var(--ops-font-table-header, 13px);
  letter-spacing: .01em;
  text-transform: none;
  background: #f8fafc;
  padding-top: 13px;
  padding-bottom: 13px;
  line-height: 1.2;
}

.adminListCardBody .adminApprovalsTable tbody td {
  vertical-align: top;
  padding-top: 10px;
  padding-bottom: 10px;
}

.adminApprovalsColItem {
  width: 170px;
}

.adminApprovalsColContext {
  width: auto;
}

.adminApprovalsColUser {
  width: 152px;
}

.adminApprovalsColState {
  width: 162px;
}

.adminApprovalsColActionLane {
  width: 198px;
}

.adminApprovalsSecondaryLine {
  font-size: var(--ops-font-meta, 12px);
  white-space: nowrap;
  text-overflow: ellipsis;
  margin-top: 2px;
  line-height: 1.18;
  display: block;
  overflow: hidden;
}

.adminApprovalsReferenceLink {
  color: inherit;
  white-space: nowrap;
  text-overflow: ellipsis;
  border-radius: 4px;
  text-decoration: none;
  display: block;
  overflow: hidden;
}

.adminApprovalsItemPrimaryLine {
  flex-wrap: nowrap;
  align-items: center;
  gap: 7px;
  min-width: 0;
  max-width: 100%;
  display: flex;
}

.adminApprovalsTable .adminUsersNameLine, .adminApprovalsReferenceLink {
  font-size: var(--ops-font-primary, 13px);
  font-weight: 600;
  line-height: 1.22;
}

.adminApprovalsItemPrimaryLine .adminApprovalsReferenceLink {
  flex: 0 auto;
  min-width: 0;
  max-width: 100%;
}

.adminApprovalsReferenceLink:hover {
  text-decoration: underline;
}

.adminApprovalsReferenceLink:focus-visible {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), transparent 68%);
  outline: none;
  text-decoration: underline;
}

.adminApprovalsMetaChips {
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  margin-top: 1px;
  margin-bottom: 1px;
  display: flex;
}

.adminApprovalsMetaChip {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  background: color-mix(in srgb, var(--bg-2), white 45%);
  min-height: 17px;
  color: color-mix(in srgb, var(--fg), black 8%);
  white-space: nowrap;
  border-radius: 999px;
  align-items: center;
  padding: 0 6px;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.1;
  display: inline-flex;
}

.adminApprovalsInfoCell {
  align-content: start;
  gap: 1px;
  min-width: 0;
  display: grid;
}

.adminApprovalsInfoCellTimesheet {
  gap: 4px;
}

.adminApprovalsTimeMetricLine {
  white-space: nowrap;
  text-overflow: ellipsis;
  font-variant-numeric: tabular-nums;
  grid-template-columns: 7.6rem 7ch 1ch 7ch;
  align-items: baseline;
  column-gap: 6px;
  min-width: 0;
  line-height: 1.2;
  display: grid;
  overflow: hidden;
}

.adminApprovalsTimeMetricLabel {
  font-size: var(--ops-font-micro, 11px);
  text-transform: uppercase;
  letter-spacing: .04em;
  color: color-mix(in srgb, var(--muted), var(--fg) 14%);
  flex: none;
}

.adminApprovalsTimeMetricValue {
  color: color-mix(in srgb, var(--fg), black 8%);
  font-size: var(--ops-font-primary, 13px);
  justify-self: end;
  font-weight: 600;
}

.adminApprovalsTimeMetricSlash {
  color: color-mix(in srgb, var(--muted), transparent 12%);
  font-size: var(--ops-font-meta, 12px);
  flex: none;
}

.adminApprovalsTimeMetricTotal {
  color: color-mix(in srgb, var(--muted), var(--fg) 8%);
  font-size: var(--ops-font-meta, 12px);
  justify-self: end;
  font-weight: 500;
}

.adminApprovalsTimeMetricLineNonWorked .adminApprovalsTimeMetricValue {
  color: color-mix(in srgb, var(--fg), transparent 24%);
  font-size: var(--ops-font-primary, 13px);
}

.adminApprovalsInfoLine {
  white-space: nowrap;
  text-overflow: ellipsis;
  min-width: 0;
  line-height: 1.22;
  display: block;
  overflow: hidden;
}

.adminApprovalsInfoLinePrimary {
  color: color-mix(in srgb, var(--fg), black 8%);
  font-size: var(--ops-font-primary, 13px);
  font-weight: 500;
}

.adminApprovalsInfoLineSecondary {
  color: var(--muted);
  font-size: var(--ops-font-meta, 12px);
}

.adminApprovalsInfoLineWithTaskHint {
  align-items: baseline;
  display: flex;
  overflow: visible;
}

.adminApprovalsInfoLineWithTargetHint {
  align-items: center;
  gap: 6px;
  display: flex;
  overflow: visible;
}

.adminApprovalsInfoLineWithInlineHints {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0;
  display: flex;
  overflow: visible;
}

.adminTicketTargetHint {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 6%);
  background: color-mix(in srgb, var(--bg), white 50%);
  width: 18px;
  height: 18px;
  color: color-mix(in srgb, var(--muted), var(--fg) 18%);
  border-radius: 5px;
  outline: none;
  flex: none;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  position: relative;
}

.adminTicketTargetHint.isSite {
  color: color-mix(in srgb, var(--focus), black 10%);
  background: color-mix(in srgb, var(--focus), white 88%);
  border-color: color-mix(in srgb, var(--focus), transparent 72%);
}

.adminTicketTargetHint.isVehicle {
  color: color-mix(in srgb, var(--ok), black 8%);
  background: color-mix(in srgb, var(--ok), white 88%);
  border-color: color-mix(in srgb, var(--ok), transparent 72%);
}

.adminTicketTargetHint.isOther {
  color: color-mix(in srgb, var(--muted), var(--fg) 26%);
  background: color-mix(in srgb, var(--bg), var(--fg) 4%);
}

.adminTicketTargetHintIcon {
  stroke-width: 1.9px;
  width: 12px;
  height: 12px;
}

.adminApprovalsExpenseAmount {
  font-variant-numeric: tabular-nums;
  flex: none;
}

.adminApprovalsExpenseSeparator {
  color: color-mix(in srgb, var(--muted), transparent 16%);
  flex: none;
}

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

.adminApprovalsInfoRouteHints {
  align-items: baseline;
  gap: .16em;
  margin-left: .38em;
  display: inline-flex;
}

.adminApprovalsTaskCountHint {
  -webkit-text-decoration: underline dotted color-mix(in srgb, var(--muted), var(--fg) 20%);
  text-decoration: underline dotted color-mix(in srgb, var(--muted), var(--fg) 20%);
  text-underline-offset: 2px;
  cursor: default;
}

.adminApprovalsTaskCountTooltip {
  z-index: 120;
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  min-width: 180px;
  max-width: min(360px, 72vw);
  max-height: 220px;
  color: color-mix(in srgb, var(--fg), black 8%);
  white-space: normal;
  opacity: 1;
  pointer-events: none;
  background: #fff;
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 12px;
  line-height: 1.35;
  position: fixed;
  overflow: auto;
  box-shadow: 0 10px 24px #00000029;
}

.adminApprovalsTaskCountTooltipLine {
  display: block;
}

.adminApprovalsInfoLineGhost {
  visibility: hidden;
}

.adminApprovalsInfoLineAttachments {
  align-items: center;
  gap: 6px;
  margin-top: 2px;
  display: flex;
  overflow: visible;
}

.adminApprovalsInfoPrefix {
  font-size: var(--ops-font-meta, 12px);
  color: color-mix(in srgb, var(--muted), var(--fg) 12%);
  text-transform: none;
  flex: none;
  line-height: 1;
}

.adminApprovalsAttachmentStrip {
  align-items: center;
  gap: 3px;
  min-width: 0;
  display: inline-flex;
}

.adminApprovalsAttachmentCount {
  font-size: var(--ops-font-meta, 12px);
  color: color-mix(in srgb, var(--fg), black 8%);
  flex: none;
  min-width: 14px;
  font-weight: 600;
}

.adminApprovalsAttachmentCountFallback {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 2%);
  background: color-mix(in srgb, var(--bg), white 55%);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  line-height: 1;
  display: inline-flex;
}

.adminApprovalsAttachmentThumbLink {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  appearance: none;
  cursor: pointer;
  background: #fff;
  border-radius: 3px;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 18px;
  height: 18px;
  padding: 0;
  display: inline-flex;
  position: relative;
}

.adminApprovalsAttachmentThumbLink:hover {
  border-color: color-mix(in srgb, var(--focus), transparent 25%);
}

.adminApprovalsAttachmentThumbLink.isPdfFallback {
  background: none;
  border-color: #0000;
  border-radius: 0;
}

.adminApprovalsAttachmentThumbLink.isPdfFallback:hover {
  border-color: #0000;
}

.adminApprovalsAttachmentThumb {
  object-fit: cover;
  border-radius: 2px;
  width: 100%;
  height: 100%;
  display: block;
}

.adminApprovalsAttachmentThumbFrame {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}

.adminApprovalsAttachmentThumbFrame.isDocumentPreview {
  background: #fff;
}

.adminApprovalsAttachmentThumbDocumentPreview {
  object-fit: cover;
  object-position: top center;
  background: #fff;
}

.adminApprovalsAttachmentThumbFallback {
  background: linear-gradient(180deg, color-mix(in srgb, var(--bg), white 72%), color-mix(in srgb, var(--bg-2), white 18%));
  color: color-mix(in srgb, var(--fg), var(--muted) 30%);
  place-items: center;
  display: grid;
  position: relative;
}

.adminApprovalsAttachmentThumbFallback.isPDF {
  color: #c7392f;
  background: none;
}

.adminApprovalsAttachmentThumbFallback.isPDF .adminApprovalsAttachmentThumbBadge {
  display: none;
}

.adminApprovalsAttachmentThumbFallback.isPDF .adminApprovalsAttachmentThumbFallbackIcon {
  width: 18px;
  height: 18px;
}

.adminApprovalsAttachmentThumbBadge {
  background: color-mix(in srgb, var(--bg), white 74%);
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-width: 11px;
  height: 8px;
  padding: 0 2px;
  font-size: 6px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
  position: absolute;
  top: 1px;
  left: 1px;
}

.adminApprovalsAttachmentThumbBadge.isDocumentPreview {
  color: #fff;
  background: #ca453b;
  border-color: #9f241bc7;
}

.adminApprovalsAttachmentThumbFallbackIcon {
  width: 11px;
  height: 11px;
  display: block;
}

.adminApprovalsAttachmentPreviewTrigger {
  border-radius: 2px;
  outline: none;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: inline-flex;
  overflow: hidden;
}

.adminApprovalsAttachmentPreviewTooltip {
  z-index: 120;
  width: auto;
  height: auto;
  box-shadow: none;
  pointer-events: none;
  background: none;
  border: 0;
  padding: 0;
  position: fixed;
  overflow: visible;
}

.adminApprovalsAttachmentPreviewTooltip.isDocumentPreview {
  width: auto;
  height: auto;
  padding: 0;
}

.adminApprovalsAttachmentPreviewTooltipLine {
  width: max-content;
  max-width: calc(100vw - 20px);
  line-height: 0;
  display: block;
}

.adminApprovalsAttachmentPreviewFrame {
  max-width: calc(100vw - 20px);
  box-shadow: 0 10px 28px color-mix(in srgb, var(--fg), transparent 84%);
  border-radius: 8px;
  display: inline-block;
  position: relative;
  overflow: hidden;
}

.adminApprovalsAttachmentPreviewFrame.isDocumentPreview {
  max-width: calc(100vw - 20px);
  display: inline-block;
}

.adminApprovalsAttachmentPreviewImage {
  object-fit: contain;
  border-radius: inherit;
  background: none;
  width: auto;
  max-width: min(300px, 100vw - 20px);
  height: auto;
  max-height: min(220px, 100svh - 24px);
  display: block;
}

.adminApprovalsAttachmentPreviewImage.isDocumentPreview {
  border-radius: inherit;
  max-width: min(336px, 100vw - 20px);
  max-height: min(432px, 100svh - 24px);
  box-shadow: none;
}

.adminApprovalsAttachmentHoverLoading {
  background: linear-gradient(90deg,
      color-mix(in srgb, var(--bg), var(--fg) 5%) 0%,
      color-mix(in srgb, var(--bg), var(--fg) 11%) 50%,
      color-mix(in srgb, var(--bg), var(--fg) 5%) 100%);
  background-size: 300px 220px;
  border-radius: 4px;
  width: 100%;
  height: 100%;
  animation: 1.1s linear infinite adminApprovalsAttachmentShimmer;
  display: block;
}

@keyframes adminApprovalsAttachmentShimmer {
  0% {
    background-position: -300px 0;
  }

  100% {
    background-position: 300px 0;
  }
}

.adminApprovalsAttachmentMore {
  text-align: center;
  min-width: 20px;
  color: var(--muted);
  flex: none;
  font-size: 11px;
  line-height: 1;
}

.adminApprovalsAttachmentLoadingDot {
  background: color-mix(in srgb, var(--focus), var(--bg) 45%);
  opacity: .7;
  border-radius: 999px;
  flex: none;
  width: 6px;
  height: 6px;
}

.adminApprovalsStateCell, .adminOperationsReviewStatusCell {
  align-content: start;
  justify-items: start;
  gap: 4px;
  min-width: 0;
  display: grid;
}

.adminApprovalsStateCell .pill, .adminOperationsReviewStatusCell .pill {
  white-space: nowrap;
  min-height: 28px;
  padding: 0 10px;
  font-size: 12px;
  line-height: 1.1;
}

.adminApprovalsStateTime, .adminOperationsReviewStatusTime {
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: clamp(10px, .69vw, 11px);
  line-height: 1.05;
  overflow: hidden;
}

.adminOperationsReviewDocumentState {
  max-width: 100%;
  font-size: 11px;
  line-height: 1.15;
}

.adminApprovalsRowFocused {
  animation: 2.2s ease-out adminApprovalsRowFocusFade;
}

.adminApprovalsRowFocused:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 32%);
  outline-offset: -2px;
}

.adminOperationsReviewRowFocused {
  animation: 2.2s ease-out adminApprovalsRowFocusFade;
}

.adminOperationsReviewRowFocused:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 32%);
  outline-offset: -2px;
}

@keyframes adminApprovalsRowFocusFade {
  0% {
    background: color-mix(in srgb, var(--focus), white 82%);
  }

  100% {
    background: none;
  }
}

.adminApprovalsActionLane {
  grid-template-columns: 68px 42px 42px 32px;
  justify-content: end;
  align-items: center;
  gap: 0 4px;
  margin-left: auto;
  display: grid;
}

.adminApprovalsActionLane .btn {
  flex: none;
}

.adminApprovalsActionSlot {
  justify-content: center;
  align-items: flex-start;
  min-height: 32px;
  display: inline-flex;
}

.adminApprovalsActionSlotView {
  justify-content: flex-start;
}

.adminApprovalsActionSlotMenu {
  justify-content: center;
}

.adminApprovalsQuickActionViewBtn {
  white-space: nowrap;
  border-radius: 6px;
  justify-content: center;
  width: 68px;
  min-width: 68px;
  font-size: 12px;
  font-weight: 700;
  min-height: 32px !important;
  padding: 0 8px !important;
}

.adminApprovalsQuickActionBtn {
  border-radius: 6px;
  width: 42px;
  min-width: 42px;
  min-height: 32px !important;
  padding: 0 !important;
}

.adminApprovalsQuickActionTextBtn {
  white-space: nowrap;
  border-radius: 6px;
  justify-content: center;
  width: 100%;
  min-width: 98px;
  font-weight: 700;
  min-height: 32px !important;
  padding: 0 12px !important;
}

.adminApprovalsQuickActionPairBtn {
  white-space: nowrap;
  border-radius: 8px;
  justify-content: center;
  width: 70px;
  min-width: 70px;
  font-size: 12px;
  font-weight: 700;
  min-height: 32px !important;
  padding: 0 8px !important;
}

.adminApprovalsQuickActionIcon {
  stroke: currentColor;
  width: 16px;
  height: 16px;
}

.adminApprovalsQuickActionMarkPaidBtn, .adminApprovalsQuickActionRevokeBtn {
  width: 30px !important;
  min-width: 30px !important;
  padding: 0 !important;
}

.adminApprovalsQuickActionPaidBtn {
  letter-spacing: 0;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 800;
  width: 42px !important;
  min-width: 42px !important;
  min-height: 32px !important;
  padding: 0 4px !important;
}

.adminApprovalsActionPlaceholder {
  width: 42px;
  height: 32px;
  display: inline-block;
}

.adminApprovalsMenuPlaceholder {
  width: 32px;
  height: 32px;
  display: inline-block;
}

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

.adminApprovalsReportApproveIntro {
  margin: 0;
}

.adminApprovalsReportApproveList {
  gap: 8px;
  display: grid;
}

.adminApprovalsReportApproveTicketList {
  gap: 8px;
  max-height: 260px;
  padding-right: 2px;
  display: grid;
  overflow-y: auto;
}

.adminApprovalsReportApproveTicket {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: color-mix(in srgb, var(--bg-2), white 40%);
  border-left-width: 3px;
  border-radius: 8px;
  gap: 6px;
  padding: 8px 10px;
  display: grid;
}

.adminApprovalsReportApproveTicket.isExpense {
  border-left-color: color-mix(in srgb, var(--warn), transparent 20%);
}

.adminApprovalsReportApproveTicket.isMaterial {
  border-left-color: color-mix(in srgb, var(--ok), transparent 25%);
}

.adminApprovalsReportApproveTicket.isMisc {
  border-left-color: color-mix(in srgb, var(--focus), transparent 18%);
}

.adminApprovalsReportApproveTicketMeta {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminApprovalsReportApproveTicketDate {
  font-size: var(--ops-font-meta, 12px);
}

.adminApprovalsReportApproveTicketStatus {
  min-height: 22px;
  font-size: var(--ops-font-meta, 12px);
  padding: 0 8px;
}

.adminApprovalsReportApproveTicketDetail {
  gap: 2px;
  display: grid;
}

.adminApprovalsReportApproveTicketPrimary, .adminApprovalsReportApproveTicketSecondary {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.adminApprovalsReportApproveTicketPrimary {
  font-weight: 700;
  line-height: 1.2;
}

.adminApprovalsReportApproveTicketSecondary {
  font-size: var(--ops-font-primary, 13px);
  line-height: 1.2;
}

.adminApprovalsPager {
  overflow-anchor: none;
  padding-top: 8px;
}

.adminApprovalsLoadingOverlay {
  pointer-events: none;
  background: none;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0;
}

.adminApprovalsLoadingText {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--bg) 12%);
  background: color-mix(in srgb, var(--bg), var(--bg-2) 35%);
  border-radius: 6px;
  padding: 4px 10px;
}

.adminApprovalsPlaceholderRow {
  pointer-events: none;
}

.adminApprovalsPlaceholderRow td {
  border-bottom-color: #0000 !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.adminApprovalsPlaceholderText {
  visibility: hidden;
  -webkit-user-select: none;
  user-select: none;
}

.adminOperationsActionsCell {
  text-align: right;
}

.adminOperationsActionsCell .adminDirectoryRowActions {
  justify-content: flex-end;
}

.adminOperationsListPage .adminListTable .adminListRow:hover, .adminOperationsListPage .adminListTable .adminListRow:focus-within {
  background: none;
}

.adminOperationsListPage .adminListTable .adminListRow:hover > td, .adminOperationsListPage .adminListTable .adminListRow:focus-within > td {
  background: color-mix(in srgb, var(--focus), white 96%);
}

.adminOperationsListPage .adminOperationsActionsCell, .adminOperationsListPage .adminGeoColActions {
  z-index: 2;
  background: #fff;
  position: sticky;
  right: 0;
}

.adminOperationsListPage th.adminOperationsActionsCell, .adminOperationsListPage th.adminGeoColActions {
  z-index: 3;
  background: #f8fafc;
}

:is(.adminOperationsListPage .adminOperationsActionsCell:has(.adminUsersMenuFloating), .adminOperationsListPage .adminGeoColActions:has(.adminUsersMenuFloating)) {
  z-index: 8;
}

.adminListCardBody .adminApprovalsTable tbody td.adminOperationsActionsCell {
  vertical-align: middle;
}

.adminOperationsReviewActionsCell {
  text-align: right;
  width: 188px;
  min-width: 188px;
}

.adminOperationsListPage .adminOperationsReviewActionsHeader, .adminOperationsListPage .adminOperationsReviewActionsCell {
  z-index: 2;
  background: #fff;
  position: sticky;
  right: 0;
}

.adminOperationsListPage .adminOperationsReviewActionsHeader {
  z-index: 3;
  background: #f8fafc;
}

.adminOperationsListPage .adminOperationsReviewActionsCell:has(.adminUsersMenuFloating) {
  z-index: 8;
}

.adminOperationsReviewActionsCell .adminDirectoryRowActions.adminOperationsQuickActions {
  flex-wrap: nowrap;
  justify-content: flex-end;
  gap: 8px;
}

.adminOperationsReviewActionsCell .adminUsersMenuTrigger {
  border-radius: 8px;
  width: 32px;
  min-width: 32px;
  min-height: 32px;
}

.adminOperationsReviewActionsCell .adminApprovalsQuickActionTextBtn {
  flex: none;
  width: auto;
  min-width: 98px;
}

.adminOperationsReviewPaidBtn {
  width: 56px;
  min-width: 56px;
  font-size: var(--ops-font-action, 12px);
  white-space: nowrap;
  border-radius: 8px;
  flex: none;
  justify-content: center;
  font-weight: 700;
  min-height: 32px !important;
  padding: 0 8px !important;
}

.adminTicketsUserCell .adminUsersNameLine, .adminTicketsUserCell .adminUsersNameMeta .muted {
  white-space: normal;
  text-overflow: clip;
  overflow: visible;
}

.adminOperationsTicketsTable {
  table-layout: fixed;
  min-width: 1080px;
}

.adminTicketsColDate {
  width: 116px;
}

.adminTicketsColUser {
  width: 188px;
}

.adminTicketsColStatus {
  width: 162px;
}

.adminTicketsColType {
  width: 112px;
}

.adminTicketsColSite {
  width: 196px;
}

.adminTicketsColMetadata {
  width: auto;
}

.adminTicketsColActions {
  width: 116px;
}

.adminTicketsSiteCell, .adminTicketsSiteStack {
  min-width: 0;
}

.adminTicketsMetadataCell, .adminTicketsSiteCell {
  max-width: 0;
}

.adminTicketsMetadataStack {
  align-content: start;
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminTicketsMetadataHintLine {
  min-width: 0;
}

.adminTicketsMetadataRouteLine {
  align-items: baseline;
  gap: .18em;
  display: flex;
  overflow: visible;
}

.adminOperationsTimesheetsTable .adminOperationsReviewActionsCell, .adminOperationsTimesheetsTable .adminOperationsReviewActionsHeader, .adminOperationsReportsTable .adminOperationsReviewActionsCell, .adminOperationsReportsTable .adminOperationsReviewActionsHeader, .adminOperationsTicketsTable .adminOperationsReviewActionsCell, .adminOperationsTicketsTable .adminOperationsReviewActionsHeader {
  width: 116px;
  min-width: 116px;
}

.adminOperationsTimesheetsTable .adminOperationsReviewActionsCell, .adminOperationsTimesheetsTable .adminOperationsReviewActionsHeader {
  width: 96px;
  min-width: 96px;
}

.adminOperationsTimesheetsTable .adminDirectoryRowActions.adminOperationsQuickActions, .adminOperationsReportsTable .adminDirectoryRowActions.adminOperationsQuickActions, .adminOperationsTicketsTable .adminDirectoryRowActions.adminOperationsQuickActions {
  gap: 6px;
}

.adminOperationsTimesheetsTable .adminApprovalsQuickActionViewBtn, .adminOperationsReportsTable .adminApprovalsQuickActionViewBtn, .adminOperationsTicketsTable .adminApprovalsQuickActionViewBtn {
  width: 60px;
  min-width: 60px;
  padding: 0 6px !important;
}

.adminOperationsTimesheetsTable .adminApprovalsQuickActionViewBtn {
  width: 56px;
  min-width: 56px;
}

.adminTicketsClampText {
  white-space: nowrap;
  text-overflow: ellipsis;
  display: block;
  overflow: hidden;
}

@media (max-width: 1360px) {
  .adminTimesheetsColUser {
    width: 185px;
  }

  .adminTimesheetsColProgress {
    width: 194px;
  }

  .adminTimesheetsColMissing {
    width: 248px;
  }

  .adminTimesheetsColNonWorked {
    width: 84px;
  }

  .adminTimesheetsColStatus, .adminTimesheetsColDocument {
    width: 112px;
  }

  .adminTimesheetsColActions {
    width: 96px;
  }

  .adminTicketsColUser {
    width: 170px;
  }

  .adminTicketsColStatus {
    width: 150px;
  }

  .adminTicketsColType {
    width: 102px;
  }

  .adminTicketsColSite {
    width: 176px;
  }

  .adminOperationsTimesheetsTable .adminOperationsReviewActionsCell, .adminOperationsTimesheetsTable .adminOperationsReviewActionsHeader, .adminOperationsReportsTable .adminOperationsReviewActionsCell, .adminOperationsReportsTable .adminOperationsReviewActionsHeader, .adminOperationsTicketsTable .adminOperationsReviewActionsCell, .adminOperationsTicketsTable .adminOperationsReviewActionsHeader {
    width: 108px;
    min-width: 108px;
  }

  .adminOperationsTimesheetsTable .adminOperationsReviewActionsCell, .adminOperationsTimesheetsTable .adminOperationsReviewActionsHeader {
    width: 96px;
    min-width: 96px;
  }

  .adminOperationsListPage .adminOperationsTimesheetsTable .adminOperationsReviewActionsHeader, .adminOperationsListPage .adminOperationsTimesheetsTable .adminOperationsReviewActionsCell {
    box-shadow: none;
    position: static;
  }

  .adminOperationsTimesheetsTable .adminApprovalsQuickActionViewBtn, .adminOperationsReportsTable .adminApprovalsQuickActionViewBtn, .adminOperationsTicketsTable .adminApprovalsQuickActionViewBtn {
    width: 56px;
    min-width: 56px;
    font-size: 11px;
  }

  .adminDayOffColDate {
    width: 160px;
  }

  .adminDayOffColUser {
    width: 176px;
  }

  .adminDayOffColActions {
    width: 184px;
  }

  .adminOperationsDayOffTable .adminOperationsReviewActionsCell, .adminOperationsDayOffTable .adminOperationsReviewActionsHeader {
    width: 184px;
    min-width: 184px;
  }
}

@media (max-width: 1220px) {
  .adminTimesheetsColUser {
    width: 175px;
  }

  .adminTimesheetsColProgress {
    width: 188px;
  }

  .adminTimesheetsColMissing {
    width: 238px;
  }

  .adminTimesheetsColNonWorked {
    width: 82px;
  }

  .adminTimesheetsColStatus, .adminTimesheetsColDocument {
    width: 106px;
  }

  .adminTimesheetsColActions {
    width: 92px;
  }

  .adminTicketsColDate {
    width: 108px;
  }

  .adminTicketsColUser {
    width: 156px;
  }

  .adminTicketsColStatus {
    width: 138px;
  }

  .adminTicketsColType {
    width: 92px;
  }

  .adminTicketsColSite {
    width: 160px;
  }

  .adminOperationsTimesheetsTable .adminOperationsReviewActionsCell, .adminOperationsTimesheetsTable .adminOperationsReviewActionsHeader, .adminOperationsReportsTable .adminOperationsReviewActionsCell, .adminOperationsReportsTable .adminOperationsReviewActionsHeader, .adminOperationsTicketsTable .adminOperationsReviewActionsCell, .adminOperationsTicketsTable .adminOperationsReviewActionsHeader {
    width: 102px;
    min-width: 102px;
  }

  .adminOperationsTimesheetsTable .adminOperationsReviewActionsCell, .adminOperationsTimesheetsTable .adminOperationsReviewActionsHeader {
    width: 92px;
    min-width: 92px;
  }

  .adminOperationsTimesheetsTable .adminApprovalsQuickActionViewBtn, .adminOperationsReportsTable .adminApprovalsQuickActionViewBtn, .adminOperationsTicketsTable .adminApprovalsQuickActionViewBtn {
    width: 52px;
    min-width: 52px;
  }

  .adminDayOffColDate {
    width: 150px;
  }

  .adminDayOffColUser {
    width: 164px;
  }

  .adminDayOffColActions {
    width: 170px;
  }

  .adminOperationsDayOffTable .adminOperationsReviewActionsCell, .adminOperationsDayOffTable .adminOperationsReviewActionsHeader {
    width: 170px;
    min-width: 170px;
  }
}

.adminOperationsDayOffTable {
  table-layout: fixed;
}

.adminDayOffColDate {
  width: 170px;
}

.adminDayOffColUser {
  width: 188px;
}

.adminDayOffColStatus {
  width: auto;
}

.adminDayOffColActions {
  width: 188px;
}

.adminOperationsDayOffTable .adminOperationsReviewActionsCell, .adminOperationsDayOffTable .adminOperationsReviewActionsHeader {
  width: 188px;
  min-width: 188px;
}

.adminOperationsGeoTable {
  table-layout: fixed;
  min-width: 980px;
}

.adminOperationsGeoPage {
  gap: 12px;
}

.adminOperationsGeoResultsCard {
  box-shadow: none;
  background: none;
  border: 0;
}

.adminOperationsGeoResultsBody {
  gap: 12px;
  padding: 0;
}

.adminOperationsGeoResultsBody > .adminEmptyText {
  margin-top: 0;
}

.adminOperationsGeoResultsBody .adminListFilterEmptyState {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: #fff;
  border-radius: 12px;
}

.adminOperationsGeoResultsBody .adminOperationsGeoTable thead th {
  color: color-mix(in srgb, var(--fg), black 8%);
  font-size: var(--ops-font-table-header, 13px);
  letter-spacing: .01em;
  text-transform: none;
  background: #f8fafc;
  padding-top: 13px;
  padding-bottom: 13px;
  line-height: 1.2;
}

.adminGeoColDate {
  width: 124px;
}

.adminGeoColWorkers {
  width: 170px;
}

.adminGeoColWorked, .adminGeoColOffsite {
  width: 118px;
}

.adminGeoColEvents {
  width: 124px;
}

.adminGeoColSites {
  width: auto;
  min-width: 0;
}

.adminGeoColActions {
  width: 188px;
}

.adminGeoSortHeaderBtn {
  max-width: 100%;
  font: inherit;
  color: inherit;
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border: 0;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  font-weight: 700;
  display: inline-flex;
}

.adminGeoSortHeaderBtn:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 30%);
  outline-offset: 2px;
  border-radius: 4px;
}

.adminGeoSortHeaderIcon {
  border-left: 4px solid #0000;
  border-right: 4px solid #0000;
  border-top: 6px solid color-mix(in srgb, var(--fg), transparent 36%);
  opacity: .62;
  flex: none;
  block-size: 0;
  inline-size: 0;
  transform: translateY(1px);
}

.adminGeoSortHeaderIcon.isActive {
  border-top-color: color-mix(in srgb, var(--fg), transparent 8%);
  opacity: 1;
}

.adminGeoSortHeaderIcon.isAsc {
  transform: rotate(180deg)translateY(1px);
}

.adminGeoWorkersMain {
  font-weight: 700;
  display: block;
}

.adminGeoWorkersSub {
  font-size: var(--ops-font-meta, 12px);
  margin-top: 2px;
  display: block;
}

.adminGeoWorkersSubAlert {
  color: color-mix(in srgb, var(--danger), black 18%);
  font-weight: 600;
}

.adminGeoMetricWarn {
  color: color-mix(in srgb, var(--danger), black 18%);
  font-weight: 700;
}

.adminGeoMetricSub {
  font-size: var(--ops-font-meta, 12px);
  margin-top: 2px;
  font-weight: 600;
  display: block;
}

.adminGeoSitesLine {
  white-space: nowrap;
  text-overflow: ellipsis;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  display: flex;
  overflow: hidden;
}

.adminGeoSitesEmpty {
  display: block;
}

.adminGeoSitesSep {
  color: color-mix(in srgb, var(--muted), transparent 14%);
}

.adminGeoSiteCodeLink {
  color: inherit;
  border-bottom: 1px dotted #0000;
  text-decoration: none;
}

.adminGeoSiteCodeLink:hover {
  border-bottom-color: color-mix(in srgb, var(--fg), transparent 48%);
}

.adminGeoSiteCodeLink:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 30%);
  outline-offset: 2px;
  border-radius: 4px;
}

.adminGeoSiteOverflowBtn {
  font: inherit;
  font-size: var(--ops-font-primary, 13px);
  color: color-mix(in srgb, var(--muted), black 18%);
  cursor: pointer;
  background: none;
  border: 0;
  margin: 0;
  padding: 0;
  line-height: 1;
}

.adminGeoSiteOverflowBtn:hover {
  color: inherit;
}

.adminGeoSiteOverflowBtn:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 30%);
  outline-offset: 2px;
  border-radius: 4px;
}

.adminGeoDetailRow td {
  background: #fff;
}

.adminGeoDetailPanel {
  gap: 12px;
  padding: 8px 0 4px;
  display: grid;
}

.adminGeoDetailSummaryGrid {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  display: grid;
}

.adminGeoDetailSummaryStat {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  background: #fff;
  border-radius: 8px;
  gap: 2px;
  padding: 8px 10px;
  display: grid;
}

.adminGeoDetailSummaryValue {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.1;
}

.adminGeoDetailSummaryLabel {
  font-size: var(--ops-font-micro, 11px);
  text-transform: uppercase;
  letter-spacing: .02em;
  color: color-mix(in srgb, var(--muted), var(--fg) 14%);
  line-height: 1.1;
}

.adminGeoDetailLayout {
  grid-template-columns: 1fr;
  gap: 10px;
  display: grid;
}

.adminGeoPlaybackPanel {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  background: #fff;
  border-radius: 8px;
  gap: 8px;
  padding: 10px 12px;
  display: grid;
}

.adminGeoPlaybackHeader {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminGeoPlaybackTitle {
  font-size: var(--ops-font-primary, 13px);
  margin: 0;
  font-weight: 700;
  line-height: 1.2;
}

.adminGeoPlaybackMeta {
  font-size: var(--ops-font-meta, 12px);
  margin: 0;
}

.adminGeoPlaybackTransport {
  align-items: center;
  gap: 4px;
  display: inline-flex;
}

.adminGeoPlaybackTransportBtn {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 2%);
  background: color-mix(in srgb, var(--bg), white 70%);
  width: 26px;
  min-width: 26px;
  height: 26px;
  color: color-mix(in srgb, var(--fg), black 8%);
  cursor: pointer;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: inline-flex;
}

.adminGeoPlaybackTransportBtn:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--focus), transparent 28%);
  background: color-mix(in srgb, var(--focus), white 94%);
}

.adminGeoPlaybackTransportBtn:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.adminGeoPlaybackTransportBtnMain {
  border-color: color-mix(in srgb, var(--focus), transparent 25%);
  background: color-mix(in srgb, var(--focus), white 91%);
  border-radius: 7px;
  width: 28px;
  min-width: 28px;
  height: 28px;
}

.adminGeoPlaybackSlider {
  block-size: 20px;
  inline-size: 100%;
  accent-color: var(--focus);
}

.adminGeoPlaybackCurrentTime {
  font-size: var(--ops-font-meta, 12px);
  white-space: nowrap;
  color: color-mix(in srgb, var(--muted), var(--fg) 12%);
  line-height: 1;
}

.adminGeoPlaybackWindow {
  font-size: var(--ops-font-micro, 11px);
  color: color-mix(in srgb, var(--muted), var(--fg) 12%);
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px;
  display: grid;
}

.adminGeoPlaybackSnapshot {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.adminGeoPlaybackSnapshotChip {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: color-mix(in srgb, var(--bg-2), white 60%);
  min-height: 22px;
  font-size: var(--ops-font-meta, 12px);
  cursor: pointer;
  appearance: none;
  color: inherit;
  border-radius: 999px;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  line-height: 1.2;
  display: inline-flex;
}

.adminGeoPlaybackSnapshotChip strong {
  font-weight: 700;
}

.adminGeoPlaybackSnapshotChipInactive {
  opacity: .48;
  border-style: dashed;
}

.adminGeoPlaybackSnapshotChipWarn {
  border-color: color-mix(in srgb, var(--danger), transparent 52%);
  background: color-mix(in srgb, var(--danger), white 93%);
  color: color-mix(in srgb, var(--danger), black 18%);
}

.adminGeoPlaybackMapShell {
  z-index: 0;
  isolation: isolate;
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: color-mix(in srgb, var(--bg-2), white 30%);
  border-radius: 8px;
  position: relative;
  overflow: hidden;
}

.adminGeoPlaybackWheelHint {
  z-index: 530;
}

.adminGeoPlaybackMapCanvas {
  min-block-size: 300px;
  inline-size: 100%;
}

.adminGeoPlaybackMapCanvas .leaflet-container {
  block-size: 300px;
  inline-size: 100%;
}

.adminGeoPlaybackMapCanvas .leaflet-control-attribution {
  font-size: 10px;
}

.adminGeoPlaybackMapCanvas .leaflet-attribution-flag {
  display: none !important;
}

.adminGeoPlaybackMarkerIcon {
  place-items: center;
  background: none !important;
  border: 0 !important;
  display: grid !important;
}

.adminGeoPlaybackMarkerPin {
  --cm-user-avatar-ring-width: 2px;
  --cm-user-avatar-ring-color: var(--geo-pin, var(--focus));
  box-shadow: 0 0 0 2px var(--geo-pin, var(--focus)),
    0 1px 4px color-mix(in srgb, var(--fg), transparent 72%);
}

.adminGeoPlaybackPopup p {
  margin: 0 0 4px;
  font-size: 12px;
  line-height: 1.25;
}

.adminGeoPlaybackPopup p:last-child {
  margin-bottom: 0;
}

.adminGeoPlaybackPopupTitle {
  font-weight: 700;
  font-size: 13px !important;
}

.adminGeoPlaybackPopupUser {
  color: var(--muted);
}

.adminGeoWorkersPanel {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  background: #fff;
  border-radius: 8px;
  gap: 10px;
  padding: 12px 14px;
  display: grid;
}

.adminGeoWorkersPanelHeader {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
  display: flex;
}

.adminGeoWorkersPanelHeaderMain {
  gap: 2px;
  display: grid;
}

.adminGeoWorkersPanelTitle {
  font-size: var(--ops-font-primary, 13px);
  margin: 0;
  font-weight: 700;
  line-height: 1.2;
}

.adminGeoWorkersPanelHint {
  font-size: var(--ops-font-meta, 12px);
  margin: 0;
}

.adminGeoWorkersToggleBtn {
  font-size: var(--ops-font-action, 12px);
  border-radius: 8px;
  font-weight: 700;
  min-height: 28px !important;
  padding: 0 10px !important;
}

.adminGeoWorkersTableWrap {
  overflow: visible;
}

.adminGeoWorkersTable {
  table-layout: fixed;
  border-collapse: collapse;
  inline-size: 100%;
  font-size: var(--ops-font-primary, 13px);
  background: #fff;
}

.adminGeoWorkersColUser {
  width: 210px;
}

.adminGeoWorkersColStatus {
  width: 116px;
}

.adminGeoWorkersColTime {
  width: 122px;
}

.adminGeoWorkersColEvents {
  width: 156px;
}

.adminGeoWorkersColSites {
  width: 220px;
}

.adminGeoWorkersColAnomalies {
  width: 164px;
}

.adminGeoWorkersTable thead th {
  z-index: 1;
  background: color-mix(in srgb, var(--bg-2), white 78%);
  text-align: left;
  font-size: var(--ops-font-micro, 11px);
  text-transform: uppercase;
  letter-spacing: .045em;
  color: color-mix(in srgb, var(--muted), var(--fg) 16%);
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  padding: 10px 12px;
  position: sticky;
  top: 0;
}

.adminGeoWorkersTable tbody td {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  vertical-align: middle;
  padding: 11px 12px;
}

.adminGeoWorkersTable tbody tr:last-child td {
  border-bottom: 0;
}

.adminGeoWorkersTable tbody tr:hover td {
  background: color-mix(in srgb, var(--focus), white 96%);
}

.adminGeoWorkersTable tbody tr.isSelected td, .adminGeoWorkersTable tbody tr.isSelected:hover td {
  background: color-mix(in srgb, var(--focus), white 93%);
}

.adminGeoWorkersTable tbody tr.isSelected td:first-child {
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--focus), transparent 8%);
}

.adminGeoWorkerRowWarn td {
  border-bottom-color: color-mix(in srgb, var(--danger), transparent 84%);
  background: #fff;
}

.adminGeoWorkerRowWarn:not(.isSelected) td:first-child {
  box-shadow: inset 4px 0 0 color-mix(in srgb, var(--danger), transparent 30%);
}

.adminGeoWorkerIdentityButton {
  width: 100%;
  min-height: 44px;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 7px;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  margin: -5px 0;
  padding: 5px 0;
  display: grid;
}

.adminGeoWorkerIdentityAvatar {
  --cm-user-avatar-ring-width: 2px;
}

.adminGeoWorkerNameStack {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminGeoWorkerNamePrimary {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: var(--ops-font-primary, 13px);
  font-weight: 700;
  line-height: 1.2;
  overflow: hidden;
}

.adminGeoWorkerNameSecondary {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: var(--ops-font-meta, 12px);
  line-height: 1.15;
  overflow: hidden;
}

.adminGeoWorkerStatusCell .pill {
  min-height: 28px;
  font-size: var(--ops-font-chip, 12px);
  padding: 0 10px;
}

.adminGeoWorkerCellMetric {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  font-weight: 600;
}

.adminGeoWorkerCellTimeStack {
  gap: 2px;
  display: grid;
}

.adminGeoWorkerCellTimeMain {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  font-weight: 700;
  line-height: 1.2;
}

.adminGeoWorkerCellTimeSub {
  font-size: var(--ops-font-micro, 11px);
  color: var(--muted);
  white-space: nowrap;
  line-height: 1.15;
}

.adminGeoWorkerCellTimeSubWarn {
  color: color-mix(in srgb, var(--danger), black 18%);
  font-weight: 600;
}

.adminGeoWorkerCellEventsStack {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminGeoWorkerCellRange {
  white-space: nowrap;
  font-size: var(--ops-font-micro, 11px);
  color: color-mix(in srgb, var(--muted), var(--fg) 10%);
}

.adminGeoWorkerHoverHint {
  align-items: baseline;
  max-width: 100%;
  display: inline-flex;
}

.adminGeoWorkerCellSitesStack {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminGeoWorkerSitesLine {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  min-width: 0;
  display: flex;
}

.adminGeoWorkerSitesSep {
  color: color-mix(in srgb, var(--muted), transparent 16%);
}

.adminGeoWorkerCellSitesPrimary {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: 600;
  overflow: hidden;
}

.adminGeoWorkerCellSitesSecondary {
  color: color-mix(in srgb, var(--muted), var(--fg) 12%);
  font-size: 11px;
  line-height: 1.15;
}

.adminGeoWorkerCellAnomaliesNone {
  font-size: 11px;
  line-height: 1.15;
}

.adminGeoWorkerCellAnomalies {
  min-width: 0;
}

.adminGeoSignals {
  flex-wrap: wrap;
  gap: 4px;
  display: inline-flex;
}

.adminGeoSignalChip {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  white-space: nowrap;
  background: #fff;
  border-radius: 999px;
  align-items: center;
  min-height: 20px;
  padding: 1px 7px;
  font-size: 11px;
  line-height: 1.15;
  display: inline-flex;
}

.adminGeoSignalChipWarn {
  border-color: color-mix(in srgb, var(--danger), transparent 62%);
  background: color-mix(in srgb, var(--danger), white 94%);
  color: color-mix(in srgb, var(--danger), black 20%);
  font-weight: 600;
}

.adminGeoSignalChipInfo {
  border-color: color-mix(in srgb, var(--focus), transparent 72%);
  background: color-mix(in srgb, var(--focus), white 95%);
  color: color-mix(in srgb, var(--focus), black 20%);
}

.adminGeoSignalChipCaution {
  border-color: color-mix(in srgb, var(--warning), transparent 54%);
  background: color-mix(in srgb, var(--warning), white 94%);
  color: color-mix(in srgb, var(--warning), black 34%);
  font-weight: 600;
}

.adminGeoInlineEmpty {
  margin: 4px 0;
}

@media (max-width: 1320px) {
  .adminOperationsGeoTable {
    min-width: 920px;
  }

  .adminGeoColWorkers {
    width: 154px;
  }

  .adminGeoColWorked, .adminGeoColOffsite {
    width: 104px;
  }

  .adminGeoColEvents {
    width: 112px;
  }

  .adminGeoColActions {
    width: 152px;
  }

  .adminGeoWorkersColUser {
    width: 230px;
  }

  .adminGeoWorkersColStatus {
    width: 100px;
  }

  .adminGeoWorkersColTime, .adminGeoWorkersColEvents {
    width: 114px;
  }

  .adminGeoWorkersColSites {
    width: 180px;
  }

  .adminGeoWorkersColAnomalies {
    width: 150px;
  }
}

@media (max-width: 900px) {
  .adminGeoPlaybackCurrentTime {
    font-size: 11px;
  }
}

.adminGeoDetailPanel {
  gap: 14px;
  padding: 12px 0 6px;
}

.adminGeoDetailSummaryGrid {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  background: #fff;
  border-radius: 10px;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
}

.adminGeoDetailSummaryStat {
  border: 0;
  border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 22%);
  border-radius: 0;
  gap: 4px;
  min-width: 0;
  padding: 11px 13px;
}

.adminGeoDetailSummaryStat:first-child {
  border-left: 0;
}

.adminGeoDetailSummaryStatWarn {
  border-color: color-mix(in srgb, var(--danger), transparent 72%);
  background: color-mix(in srgb, var(--danger), white 95%);
}

.adminGeoDetailSummaryValue {
  font-variant-numeric: tabular-nums;
  font-size: 16px;
}

.adminGeoDetailSummaryLabel {
  letter-spacing: .055em;
  font-size: 10px;
}

.adminGeoDetailLayout {
  gap: 14px;
}

.adminGeoPlaybackPanel {
  border-color: color-mix(in srgb, var(--stroke), #64748b 8%);
  border-radius: 12px;
  gap: 0;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 10px 26px #0f172a0e;
}

.adminGeoPlaybackHeader {
  flex-wrap: nowrap;
  min-height: 58px;
  padding: 10px 14px;
}

.adminGeoPlaybackHeader > div:first-child {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.adminGeoPlaybackTitle {
  font-size: 14px;
  line-height: 1.2;
}

.adminGeoPlaybackMeta {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
}

.adminGeoPlaybackFitBtn {
  border-radius: 8px;
  flex: none;
  gap: 7px;
  font-size: 12px;
  font-weight: 700;
  min-height: 44px !important;
  padding-inline: 11px !important;
}

.adminGeoPlaybackFitBtn svg {
  width: 16px;
  height: 16px;
}

.adminGeoPlaybackToolbar {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 22%);
  background: color-mix(in srgb, var(--bg-2), white 82%);
  grid-template-columns: auto minmax(260px, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 10px 14px 11px;
  display: grid;
}

.adminGeoPlaybackTransport {
  gap: 6px;
}

.adminGeoPlaybackTransportBtn, .adminGeoPlaybackTransportBtnMain {
  border-radius: 8px;
  width: 44px;
  min-width: 44px;
  height: 44px;
}

.adminGeoPlaybackTransportBtnMain {
  color: #fff;
  border-color: color-mix(in srgb, var(--focus), black 6%);
  background: var(--focus);
}

.adminGeoPlaybackTransportBtnMain:hover:not(:disabled) {
  color: #fff;
  background: color-mix(in srgb, var(--focus), black 8%);
}

.adminGeoPlaybackTransportBtn svg {
  width: 15px;
  height: 15px;
}

.adminGeoPlaybackTimeline {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminGeoPlaybackTimelineMain {
  grid-template-columns: minmax(120px, 1fr) 52px;
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: grid;
}

.adminGeoPlaybackSlider {
  min-width: 0;
  block-size: 44px;
}

.adminGeoPlaybackCurrentTime {
  min-width: 52px;
  color: color-mix(in srgb, var(--focus), black 12%);
  text-align: right;
  font-size: 12px;
  font-weight: 750;
}

.adminGeoPlaybackWindow {
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  font-size: 10px;
}

.adminGeoPlaybackWindow span:nth-child(2) {
  text-align: center;
}

.adminGeoPlaybackSnapshot {
  justify-content: flex-end;
  gap: 5px;
  max-width: 460px;
}

.adminGeoPlaybackSnapshotChip {
  background: #fff;
  border-radius: 8px;
  min-height: 44px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 650;
}

.adminGeoPlaybackSnapshotChip:focus-visible, .adminGeoActivityRow:focus-visible, .adminGeoWorkerIdentityButton:focus-visible, .adminGeoPlaybackFitBtn:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 24%);
  outline-offset: 2px;
}

.adminGeoPlaybackStage {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  grid-template-columns: minmax(520px, .9fr) minmax(0, 1.1fr);
  min-width: 0;
  display: grid;
}

.adminGeoPlaybackMapShell {
  background: #e6edf2;
  border: 0;
  border-radius: 0;
  min-width: 0;
  min-height: 508px;
}

.adminGeoPlaybackMapCanvas, .adminGeoPlaybackMapCanvas .leaflet-container {
  block-size: 508px;
  min-block-size: 508px;
}

.adminGeoPlaybackMapCanvas .leaflet-tile-pane {
  filter: saturate(.72) contrast(.95);
}

.adminGeoPlaybackMapCanvas .leaflet-control-zoom a {
  font-size: 22px;
  width: 44px !important;
  height: 44px !important;
  line-height: 44px !important;
}

.adminGeoPlaybackMapShell[data-state="loading"] .adminGeoPlaybackMapCanvas, .adminGeoPlaybackMapShell[data-state="error"] .adminGeoPlaybackMapCanvas {
  opacity: .7;
}

.adminGeoPlaybackMapState {
  z-index: 800;
  color: #52677b;
  text-align: center;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
  pointer-events: none;
  background: #fffffff0;
  border: 1px solid #ffffffe6;
  border-radius: 9px;
  justify-content: center;
  align-items: center;
  max-width: calc(100% - 32px);
  min-height: 36px;
  padding: 8px 12px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
  display: inline-flex;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 7px 22px #0f172a24;
}

.adminGeoPlaybackMapState[data-kind="error"] {
  color: #8f3e1a;
  background: #fff7f2f5;
}

.adminGeoActivityTimeline {
  border-right: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: #fff;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  min-width: 0;
  max-height: 508px;
  display: grid;
  overflow: hidden;
}

.adminGeoActivityHeader {
  background: color-mix(in srgb, var(--bg-2), white 82%);
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 10px 12px;
  display: flex;
}

.adminGeoActivityHeader h4, .adminGeoActivityHeader p {
  margin: 0;
}

.adminGeoActivityHeader h4 {
  color: var(--fg);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.2;
}

.adminGeoActivityHeader p {
  color: var(--muted);
  margin-top: 3px;
  font-size: 10px;
  line-height: 1.2;
}

.adminGeoActivityAxis, .adminGeoActivityRow {
  grid-template-columns: minmax(160px, 195px) minmax(185px, 1fr) minmax(84px, 90px);
  align-items: center;
  column-gap: 10px;
  display: grid;
}

.adminGeoActivityAxis {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 20%);
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  min-height: 28px;
  color: color-mix(in srgb, var(--muted), var(--fg) 8%);
  font-variant-numeric: tabular-nums;
  background: #fff;
  padding: 0 11px;
  font-size: 9px;
}

.adminGeoActivityAxisTicks {
  justify-content: space-between;
  align-items: center;
  min-width: 0;
  display: flex;
}

.adminGeoActivityRows {
  overscroll-behavior: contain;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden auto;
}

.adminGeoActivityRows li {
  min-width: 0;
}

.adminGeoActivityRow {
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 20%);
  width: 100%;
  min-height: 44px;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  background: #fff;
  padding: 5px 11px;
}

.adminGeoActivityRow:hover {
  background: color-mix(in srgb, var(--focus), white 97%);
}

.adminGeoActivityRow.isSelected {
  background: color-mix(in srgb, var(--focus), white 94%);
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--focus), transparent 2%);
}

.adminGeoActivityRow.isMuted .adminGeoActivityIdentity, .adminGeoActivityRow.isMuted .adminGeoActivityState {
  opacity: .52;
}

.adminGeoActivityRow.isMuted .adminGeoActivityTrack {
  opacity: .72;
}

.adminGeoActivityIdentity {
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: grid;
}

.adminGeoActivityAvatar {
  --cm-user-avatar-ring-width: 2px;
}

.adminGeoPlaybackWorkerColor0 {
  --cm-user-avatar-ring-color: #2563eb;
}

.adminGeoPlaybackWorkerColor1 {
  --cm-user-avatar-ring-color: #047857;
}

.adminGeoPlaybackWorkerColor2 {
  --cm-user-avatar-ring-color: #b42318;
}

.adminGeoPlaybackWorkerColor3 {
  --cm-user-avatar-ring-color: #b45309;
}

.adminGeoPlaybackWorkerColor4 {
  --cm-user-avatar-ring-color: #6d28d9;
}

.adminGeoPlaybackWorkerColor5 {
  --cm-user-avatar-ring-color: #0f766e;
}

.adminGeoPlaybackWorkerColor6 {
  --cm-user-avatar-ring-color: #9a3412;
}

.adminGeoPlaybackWorkerColor7 {
  --cm-user-avatar-ring-color: #a21caf;
}

.adminGeoPlaybackWorkerColor8 {
  --cm-user-avatar-ring-color: #0369a1;
}

.adminGeoPlaybackWorkerColor9 {
  --cm-user-avatar-ring-color: #4338ca;
}

.adminGeoActivityName {
  gap: 1px;
  min-width: 0;
  display: grid;
}

.adminGeoActivityName strong, .adminGeoActivityName small {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.adminGeoActivityName strong {
  font-size: 11px;
  font-weight: 720;
  line-height: 1.2;
}

.adminGeoActivityName small {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.15;
}

.adminGeoActivityTrack {
  width: 100%;
  height: 24px;
  overflow: visible;
}

.adminGeoActivityTrackBase {
  fill: color-mix(in srgb, var(--stroke), white 43%);
}

.adminGeoActivityWorkBand {
  fill: color-mix(in srgb, var(--ok), #0f8a5f 18%);
}

.adminGeoActivityPauseBand {
  fill: color-mix(in srgb, var(--warning), #f59e0b 12%);
}

.adminGeoActivityOpenPausePoint {
  fill: color-mix(in srgb, var(--warning), #f59e0b 12%);
  stroke: #fff;
  stroke-width: 1.5px;
  vector-effect: non-scaling-stroke;
}

.adminGeoActivityOffsiteSignal, .adminGeoActivityNoLocationSignal, .adminGeoActivityPlayhead {
  vector-effect: non-scaling-stroke;
}

.adminGeoActivityOffsiteSignal {
  stroke: color-mix(in srgb, var(--danger), #ef4444 12%);
  stroke-width: 2.5px;
}

.adminGeoActivityNoLocationSignal {
  stroke: #64748b;
  stroke-width: 2.5px;
  stroke-dasharray: 4 3;
}

.adminGeoActivityPlayhead {
  stroke: color-mix(in srgb, var(--focus), white 2%);
  stroke-width: 1.5px;
}

.adminGeoActivityState {
  color: #66778a;
  white-space: nowrap;
  align-items: center;
  gap: 5px;
  font-size: 10px;
  font-weight: 750;
  display: inline-flex;
}

.adminGeoActivityState:before {
  content: "";
  background: currentColor;
  border-radius: 50%;
  width: 6px;
  height: 6px;
}

.adminGeoActivityState.isactive {
  color: color-mix(in srgb, var(--ok), black 16%);
}

.adminGeoActivityState.ispaused {
  color: color-mix(in srgb, var(--warning), black 28%);
}

.adminGeoActivityState.isnotStarted:before {
  background: none;
  border: 1px solid;
}

.adminGeoActivityLegend {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  min-height: 36px;
  color: color-mix(in srgb, var(--muted), var(--fg) 12%);
  background: color-mix(in srgb, var(--bg-2), white 82%);
  flex-wrap: wrap;
  align-items: center;
  gap: 7px 15px;
  padding: 7px 11px;
  font-size: 9px;
  line-height: 1.15;
  display: flex;
}

.adminGeoActivityLegend span {
  align-items: center;
  gap: 5px;
  display: inline-flex;
}

.adminGeoActivityLegend i {
  background: color-mix(in srgb, var(--stroke), white 43%);
  border-radius: 3px;
  width: 16px;
  height: 7px;
  display: inline-block;
}

.adminGeoActivityLegend i.isWork {
  background: color-mix(in srgb, var(--ok), #0f8a5f 18%);
}

.adminGeoActivityLegend i.isPause {
  background: color-mix(in srgb, var(--warning), #f59e0b 12%);
}

.adminGeoActivityLegend i.isOffsite {
  background: color-mix(in srgb, var(--danger), #ef4444 12%);
  border-radius: 0;
  height: 3px;
}

.adminGeoActivityLegend i.isNoLocation {
  background: repeating-linear-gradient(90deg, #64748b 0 3px, #0000 3px 5px);
  border-radius: 0;
  height: 3px;
}

.adminGeoPlaybackMarkerPin {
  block-size: 28px;
  inline-size: 28px;
  box-shadow: 0 0 0 2px var(--geo-pin, var(--focus)), 0 2px 8px #0f172a3d;
  transition: transform .13s, box-shadow .13s, opacity .13s;
}

.adminGeoPlaybackMarkerPinStale {
  opacity: .82;
  border-style: dashed;
}

.adminGeoPlaybackMarkerPinSelected {
  box-shadow: 0 0 0 2px var(--geo-pin, var(--focus)), 0 0 0 5px color-mix(in srgb, var(--focus), transparent 45%), 0 4px 12px #0f172a47;
  transform: scale(1.18);
}

.adminGeoWorkersPanel {
  border-color: color-mix(in srgb, var(--stroke), #64748b 8%);
  border-radius: 12px;
  gap: 0;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 8px 22px #0f172a0b;
}

.adminGeoWorkersPanelHeader {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  background: color-mix(in srgb, var(--bg-2), white 82%);
  align-items: center;
  min-height: 60px;
  padding: 10px 14px;
}

.adminGeoWorkersPanelTitle {
  font-size: 13px;
}

.adminGeoWorkersToggleBtn {
  min-height: 44px !important;
}

.adminGeoWorkersTableWrap {
  padding: 0;
}

.adminGeoWorkersTable thead th {
  background: #fff;
}

@media (max-width: 1240px) {
  .adminGeoPlaybackToolbar {
    grid-template-columns: auto minmax(220px, 1fr);
  }

  .adminGeoPlaybackSnapshot {
    grid-column: 1 / -1;
    justify-content: flex-start;
    max-width: none;
  }

  .adminGeoPlaybackStage {
    grid-template-columns: 1fr;
  }

  .adminGeoPlaybackMapShell, .adminGeoPlaybackMapCanvas, .adminGeoPlaybackMapCanvas .leaflet-container {
    block-size: 360px;
    min-block-size: 360px;
  }

  .adminGeoActivityTimeline {
    border-right: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
    max-height: 430px;
  }
}

@media (max-width: 1320px) {
  .adminGeoDetailPanel {
    width: min(100%,
      calc(100vw - var(--admin-redenim-current-sidebar-w) - var(--admin-shell-workspace-gutter) -
          var(--admin-shell-workspace-gutter)));
    position: sticky;
    left: 0;
  }
}

@media (max-width: 980px) {
  .adminGeoDetailSummaryGrid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .adminGeoDetailSummaryStat:nth-child(5) {
    border-left: 0;
    border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 22%);
  }

  .adminGeoDetailSummaryStat:nth-child(n+6) {
    border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 22%);
  }

  .adminGeoPlaybackMapShell, .adminGeoPlaybackMapCanvas, .adminGeoPlaybackMapCanvas .leaflet-container {
    block-size: 340px;
    min-block-size: 340px;
  }

  .adminGeoPlaybackFitBtn, .adminGeoWorkersToggleBtn, .adminGeoPlaybackTransportBtn, .adminGeoPlaybackTransportBtnMain, .adminGeoPlaybackSnapshotChip {
    min-height: 44px !important;
  }

  .adminGeoPlaybackTransportBtn, .adminGeoPlaybackTransportBtnMain {
    width: 44px;
    min-width: 44px;
    height: 44px;
  }

  .adminGeoPlaybackSnapshotChip {
    padding-inline: 12px;
  }

  .adminGeoWorkersToggleBtn {
    width: auto;
  }

  .adminGeoWorkersTableWrap {
    overflow: visible;
  }

  .adminGeoWorkersTable {
    background: color-mix(in srgb, var(--bg-2), white 78%);
    min-width: 0;
    padding: 10px;
    display: block;
  }

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

  .adminGeoWorkersTable tbody {
    gap: 9px;
    display: grid;
  }

  .adminGeoWorkersTable tbody tr {
    border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
    background: #fff;
    border-radius: 9px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
    display: grid;
    overflow: hidden;
  }

  .adminGeoWorkersTable tbody td {
    border: 0;
    border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 22%);
    vertical-align: top;
    gap: 5px;
    min-width: 0;
    padding: 9px 11px;
    display: grid;
  }

  .adminGeoWorkersTable tbody td:before {
    color: color-mix(in srgb, var(--muted), var(--fg) 14%);
    letter-spacing: .045em;
    text-transform: uppercase;
    content: attr(data-label);
    font-size: 9px;
    font-weight: 750;
    line-height: 1.1;
  }

  .adminGeoWorkersTable .adminGeoWorkerNameCell {
    background: color-mix(in srgb, var(--bg-2), white 84%);
    border-top: 0;
    grid-column: 1 / -1;
  }

  .adminGeoWorkersTable .adminGeoWorkerNameCell:before {
    display: none;
  }

  .adminGeoWorkersTable .adminGeoWorkerCellAnomalies {
    grid-column: 1 / -1;
  }

  .adminGeoWorkersTable tbody tr:hover td {
    background: inherit;
  }

  .adminGeoWorkersTable tbody tr.isSelected, .adminGeoWorkersTable tbody tr.isSelected:hover {
    border-color: color-mix(in srgb, var(--focus), transparent 42%);
    box-shadow: inset 3px 0 0 color-mix(in srgb, var(--focus), transparent 8%);
  }

  .adminGeoWorkersTable tbody tr.isSelected td, .adminGeoWorkersTable tbody tr.isSelected:hover td {
    background: color-mix(in srgb, var(--focus), white 95%);
  }

  .adminGeoWorkersTable tbody tr.isSelected td:first-child {
    box-shadow: none;
  }

  .adminGeoWorkerRowWarn:not(.isSelected) td:first-child {
    box-shadow: inset 3px 0 0 color-mix(in srgb, var(--danger), transparent 30%);
  }
}

@media (max-width: 620px) {
  .adminGeoDetailPanel {
    width: min(100%, 100vw - 32px);
    position: sticky;
    left: 0;
  }

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

  .adminGeoDetailSummaryStat, .adminGeoDetailSummaryStat:nth-child(n) {
    border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 22%);
    border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 22%);
  }

  .adminGeoDetailSummaryStat:nth-child(-n+2) {
    border-top: 0;
  }

  .adminGeoDetailSummaryStat:nth-child(odd) {
    border-left: 0;
  }

  .adminGeoPlaybackHeader, .adminGeoWorkersPanelHeader {
    flex-direction: column;
    align-items: flex-start;
  }

  .adminGeoPlaybackFitBtn, .adminGeoWorkersToggleBtn {
    justify-content: center;
    width: 100%;
  }

  .adminGeoPlaybackToolbar {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .adminGeoPlaybackTransport {
    justify-content: center;
  }

  .adminGeoPlaybackTimelineMain {
    grid-template-columns: minmax(0, 1fr) 48px;
  }

  .adminGeoPlaybackSnapshot {
    flex-wrap: wrap;
    grid-column: auto;
    justify-content: flex-start;
    padding: 2px 1px 4px;
  }

  .adminGeoPlaybackSnapshotChip {
    flex: none;
  }

  .adminGeoPlaybackMapShell, .adminGeoPlaybackMapCanvas, .adminGeoPlaybackMapCanvas .leaflet-container {
    block-size: 270px;
    min-block-size: 270px;
  }

  .adminGeoActivityTimeline {
    max-height: 520px;
  }

  .adminGeoActivityHeader {
    min-height: 48px;
  }

  .adminGeoActivityAxis {
    grid-template-columns: 1fr;
  }

  .adminGeoActivityAxis > span {
    display: none;
  }

  .adminGeoActivityRow {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "identity state"
                         "track track";
    row-gap: 6px;
    padding: 7px 10px;
  }

  .adminGeoActivityIdentity {
    grid-area: identity;
  }

  .adminGeoActivityTrack {
    grid-area: track;
  }

  .adminGeoActivityState {
    grid-area: state;
  }

  .adminGeoWorkersTable {
    padding: 8px;
  }

  .adminGeoWorkersTable tbody tr {
    grid-template-columns: 1fr;
  }

  .adminGeoWorkersTable .adminGeoWorkerNameCell, .adminGeoWorkersTable .adminGeoWorkerCellAnomalies {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .adminGeoPlaybackMarkerPin {
    transition: none;
  }
}

.adminOperationsDayOffDetailBody {
  gap: 16px;
  display: grid;
}

.adminOperationsDayOffReasonCard {
  background: none;
  border: 0;
  border-radius: 0;
  gap: 6px;
  padding: 0;
  display: grid;
}

.adminOperationsDayOffReasonText {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  margin: 0;
  line-height: 1.4;
}

.adminOperationsEditorPage {
  gap: 14px;
  display: grid;
}

.adminOperationsEntityHeading {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.adminOperationsEntityHeading > .label {
  color: color-mix(in srgb, var(--muted), var(--fg) 14%);
}

.adminOperationsReadOnlyPage {
  gap: 14px;
  display: grid;
}

.adminOperationsReadOnlyPage > .card, .adminOperationsReadOnlyPage > .timesheetDayEditorShell {
  border-color: color-mix(in srgb, var(--stroke), transparent 4%);
  box-shadow: none;
  background: #fff;
  overflow: hidden;
}

.adminOperationsApprovalDecisionCard {
  border-color: color-mix(in srgb, var(--stroke), transparent 4%);
  box-shadow: none;
  background: #fff;
}

.adminOperationsApprovalDecisionBody {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  display: grid;
  padding: 13px 16px !important;
}

.adminOperationsApprovalDecisionCopy {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.adminOperationsApprovalDecisionActions {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminOperationsApprovalDecisionActions .btn {
  min-height: 44px;
}

.adminOperationsApprovalDecisionPrimary {
  min-width: 92px;
}

.adminOperationsApprovalDecisionError {
  color: var(--danger);
  padding: 0 16px 13px;
  font-size: 13px;
  line-height: 1.35;
}

.adminOperationsDetailHeaderActions {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminOperationsDetailHeaderActions .btn {
  min-height: 44px;
}

.adminOperationsDetailEditAction {
  border-color: color-mix(in srgb, var(--focus), black 16%);
  background: var(--focus);
  color: #fff;
}

.adminOperationsDetailEditAction:hover {
  border-color: color-mix(in srgb, var(--focus), black 16%);
  background: color-mix(in srgb, var(--focus), black 10%);
  color: #fff;
}

.adminOperationsDetailSubmitAction {
  white-space: nowrap;
}

.adminOperationsEditorSectionBody {
  gap: 12px;
  display: grid;
}

.adminOperationsFlowStack {
  gap: 0;
  display: grid;
}

.adminOperationsUnifiedFlow {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 4%);
  border-radius: calc(var(--radius) + 2px);
  box-shadow: 0 12px 30px color-mix(in srgb, var(--fg), transparent 96%);
  background: #fff;
  overflow: hidden;
}

.adminOperationsUnifiedFlow > .card {
  box-shadow: none;
  background: none;
  border: 0;
  border-radius: 0;
  margin: 0;
}

.adminOperationsUnifiedFlow > .card + .card {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 4%);
}

.adminOperationsUnifiedFlow > .card > .cardBody {
  padding: 18px 20px;
}

.adminOperationsFlowSectionCard {
  border-color: #0000;
}

.adminOperationsFlowSectionBody {
  gap: 10px;
  display: grid;
}

.adminOperationsFlowSectionTitleRow {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.adminOperationsFlowSectionHeading {
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.adminOperationsFlowSectionNumber {
  background: color-mix(in srgb, var(--focus), white 86%);
  width: 24px;
  height: 24px;
  color: color-mix(in srgb, var(--focus), black 12%);
  font-family: var(--font-condensed);
  border: 0;
  border-radius: 999px;
  flex: none;
  justify-content: center;
  align-items: center;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
}

.adminOperationsFlowSectionTitle {
  min-width: 0;
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
}

.adminOperationsFlowSectionAside {
  justify-content: flex-end;
  min-width: 0;
  display: flex;
}

.adminOperationsFlowMetaRow {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.adminOperationsFlowChoiceGrid, .adminFinanceChoiceGrid {
  gap: 8px;
  display: grid;
}

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

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

.adminOperationsFlowChoiceButton, .adminFinanceChoiceButton {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: var(--bg);
  min-height: 66px;
  color: var(--fg);
  text-align: left;
  cursor: pointer;
  border-radius: 8px;
  gap: 3px;
  padding: 10px;
  display: grid;
}

.adminOperationsFlowChoiceButton:hover:not(:disabled), .adminOperationsFlowChoiceButton:focus-visible, .adminFinanceChoiceButton:hover:not(:disabled), .adminFinanceChoiceButton:focus-visible {
  border-color: color-mix(in srgb, var(--focus), black 10%);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), transparent 74%);
  outline: none;
}

.adminOperationsFlowChoiceButton:disabled, .adminFinanceChoiceButton:disabled {
  cursor: not-allowed;
}

.adminOperationsFlowChoiceButtonSelected, .adminFinanceChoiceButtonSelected {
  border-color: color-mix(in srgb, var(--focus), transparent 50%);
  background: color-mix(in srgb, var(--focus), white 94%);
  color: color-mix(in srgb, var(--focus), black 12%);
}

.adminOperationsFlowChoiceTitle, .adminFinanceChoiceTitle {
  font-weight: 700;
  line-height: 1.15;
}

.adminOperationsFlowChoiceMeta, .adminFinanceChoiceMeta {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}

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

.adminOperationsFlowSegmentButton {
  justify-content: center;
}

.adminOperationsFlowSegmentButtonSelected {
  border-color: color-mix(in srgb, var(--focus), transparent 50%);
  background: color-mix(in srgb, var(--focus), white 94%);
  color: color-mix(in srgb, var(--focus), black 12%);
}

.adminOperationsEditorHeaderBlock {
  gap: 10px;
  display: grid;
}

.adminOperationsEditorHeaderTop {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.adminOperationsEditorTimeline {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 8px;
  display: grid;
}

.adminOperationsEditorReadOnlyBanner {
  background: color-mix(in srgb, var(--bg-2), var(--fg) 3%);
  width: fit-content;
  max-width: 100%;
  min-height: 20px;
  color: color-mix(in srgb, var(--muted), var(--fg) 18%);
  border: 0;
  place-self: start;
  padding: 0 8px;
}

.adminOperationsEditorActionsBlock {
  gap: 10px;
  display: grid;
}

.adminOperationsReadOnlyTopBar {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
  display: grid;
}

.adminOperationsReadOnlyTopStatus {
  place-self: start end;
}

.adminOperationsReadOnlyPortalBadgeRow {
  justify-items: start;
  display: grid;
}

.reportDetailHeroCard, .reportReadOnlyHeroCard, .ticketsReadOnlyHeroCard {
  border-color: color-mix(in srgb, var(--stroke), transparent 4%);
  background: #fff;
}

.adminTicketCorrectionActionBar {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.adminTicketCorrectionSubmitHint {
  margin-right: auto;
  font-size: 13px;
}

.portalDetailHeroBody {
  gap: 16px;
  display: grid;
  padding: 20px !important;
}

.reportReadOnlyHeroBody, .ticketsReadOnlyHeroBody {
  gap: 14px;
  padding: 18px !important;
}

.portalDetailHeroTop {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  display: flex;
}

.portalDetailHeroTitleBlock {
  gap: 10px;
  min-width: 0;
  display: grid;
}

.reportReadOnlyHeroTitleBlock, .ticketsReadOnlyHeroTitleBlock {
  flex: auto;
  max-width: min(100%, 720px);
}

.portalDetailKicker {
  letter-spacing: .1em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--muted), var(--fg) 20%);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}

.portalDetailHeroTitleRow {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px;
  display: flex;
}

.portalDetailHeroCode {
  color: color-mix(in srgb, var(--focus), black 10%);
  font-size: 13px;
  line-height: 1.1;
}

.portalDetailHeroTitle {
  font-family: var(--font-condensed);
  letter-spacing: .02em;
  margin: 0;
  font-size: clamp(26px, 2.4vw, 34px);
  line-height: 1;
}

.portalDetailHeroAside {
  justify-items: end;
  gap: 10px;
  display: grid;
}

.portalDetailStatusPill {
  white-space: nowrap;
  min-height: 38px;
  padding-left: 14px;
  padding-right: 14px;
}

.reportReadOnlyStatusPill {
  min-height: 34px;
  padding-left: 12px;
  padding-right: 12px;
}

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

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

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

.portalDetailField {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, var(--bg-2), white 45%);
  gap: 6px;
  min-width: 0;
  padding: 12px 13px;
  display: grid;
}

.adminOperationsReadOnlyPage .portalDetailFieldGrid {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 4%);
  gap: 0 24px;
}

.adminOperationsReadOnlyPage .portalDetailField {
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 4%);
  background: none;
  border-radius: 0;
  padding: 13px 0;
}

.reportReadOnlyFieldGrid .portalDetailField, .ticketsReadOnlyFieldGrid .portalDetailField {
  background: none;
}

.reportReadOnlyFieldGrid .reportReadOnlyFieldDate {
  order: 1;
}

.reportReadOnlyFieldGrid .reportReadOnlyFieldSubmitted {
  order: 2;
}

.reportReadOnlyFieldGrid .reportReadOnlyFieldSite {
  order: 3;
}

.reportReadOnlyFieldGrid .reportReadOnlyFieldCreator {
  order: 4;
}

.reportReadOnlyFieldGrid .reportReadOnlyFieldCorrected {
  order: 5;
}

.adminReportAttributionStack, .adminTicketAttributionStack {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.adminTicketOfficeAttribution {
  border: 1px solid color-mix(in srgb, var(--warning), var(--border) 52%);
  background: color-mix(in srgb, var(--warning), white 88%);
  width: fit-content;
  max-width: 100%;
  color: color-mix(in srgb, var(--fg), var(--warning) 20%);
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}

.adminTicketOfficeReason, .adminTicketCreateHint, .adminReportCreateHint, .adminDayOffGrantHint {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.adminReportCreateDialogCard, .adminTicketCreateDialogCard, .adminDayOffGrantDialogCard {
  width: min(720px, 100vw - 28px);
}

.adminReportCreateDialogBody, .adminTicketCreateDialogBody, .adminDayOffGrantDialogBody {
  gap: 16px;
}

.adminReportCreateGrid, .adminTicketCreateGrid, .adminDayOffGrantGrid {
  margin: 0;
}

.adminDayOffGrantReasonInput {
  resize: vertical;
  min-height: 104px;
}

.adminDayOffGrantAllowance, .adminDayOffGrantWarning {
  border-radius: var(--radius);
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.4;
}

.adminDayOffGrantAllowance {
  border: 1px solid color-mix(in srgb, var(--border), var(--fg) 4%);
  background: color-mix(in srgb, var(--card), white 64%);
  color: var(--fg);
}

.adminDayOffGrantAllowance.isWarning, .adminDayOffGrantWarning {
  border: 1px solid color-mix(in srgb, var(--warning), var(--border) 42%);
  background: color-mix(in srgb, var(--warning), white 88%);
  color: color-mix(in srgb, var(--fg), var(--warning) 22%);
  font-weight: 700;
}

.portalDetailFieldLabel {
  letter-spacing: .08em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--muted), var(--fg) 22%);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}

.portalDetailFieldValue {
  min-width: 0;
  color: color-mix(in srgb, var(--fg), black 10%);
  overflow-wrap: anywhere;
  font-size: 15px;
  line-height: 1.35;
}

.portalDetailFieldValue.isMono {
  font-family: var(--font-mono);
}

.portalDetailContentCard {
  background: color-mix(in srgb, var(--bg), white 18%);
}

.reportReadOnlyContentCard, .reportReadOnlyContentCard .portalDetailListRow, .reportReadOnlyContentCard .portalDetailTextBlock, .ticketsReadOnlyContentCard, .ticketsReadOnlyContentCard .portalDetailListRow, .ticketsReadOnlyContentCard .portalDetailTextBlock, .ticketsReadOnlyContentCard .ticketsAttachmentPreviewBtn, .reportReadOnlyContentCard .portalDetailListRow, .reportReadOnlyContentCard .portalDetailTextBlock, .ticketsReadOnlyContentCard .portalDetailListRow, .ticketsReadOnlyContentCard .portalDetailTextBlock, .ticketsReadOnlyContentCard .ticketsAttachmentPreviewBtn {
  background: #fff;
}

.portalDetailContentBody {
  gap: 0;
  display: grid;
  padding: 0 !important;
}

.portalDetailSection {
  gap: 12px;
  padding: 18px 20px;
  display: grid;
}

.portalDetailSection + .portalDetailSection {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
}

.portalDetailSectionHeader {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.portalDetailList {
  gap: 8px;
  display: grid;
}

.adminOperationsReadOnlyPage .portalDetailList {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 4%);
  gap: 0;
}

.portalDetailListRow {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, var(--bg-2), white 48%);
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  display: grid;
}

.adminOperationsReadOnlyPage .portalDetailListRow {
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 4%);
  background: none;
  border-radius: 0;
  padding: 12px 0;
}

.portalDetailListTitle {
  min-width: 0;
  font-weight: 700;
  line-height: 1.3;
}

.adminReportAuditHistoryList {
  gap: 10px;
}

.adminReportAuditHistoryRow {
  align-items: flex-start;
}

.adminReportAuditHistoryMain {
  gap: 5px;
  min-width: 0;
  display: grid;
}

.adminReportAuditHistoryActor {
  font-size: 13px;
  line-height: 1.25;
}

.adminReportAuditHistoryReason {
  color: color-mix(in srgb, var(--fg), var(--muted) 24%);
  gap: 2px;
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
  display: grid;
}

.adminReportAuditHistoryReason span {
  letter-spacing: .06em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--muted), var(--fg) 18%);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}

.portalDetailListValue {
  flex: none;
  font-size: 15px;
  line-height: 1.1;
}

.ticketQuantityValue {
  grid-template-columns: 5.5ch 7ch;
  justify-content: end;
  align-items: baseline;
  column-gap: .7ch;
  display: inline-grid;
}

.ticketQuantityAmount {
  text-align: right;
  font-variant-numeric: tabular-nums;
  min-width: 0;
}

.ticketQuantityUnit {
  text-align: right;
  white-space: nowrap;
  min-width: 0;
}

.portalDetailTextBlock {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, var(--bg-2), white 48%);
  white-space: pre-wrap;
  margin: 0;
  padding: 14px 16px;
  line-height: 1.55;
}

.adminOperationsReadOnlyPage .portalDetailTextBlock {
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
}

.portalDetailEmpty {
  margin: 0;
}

.reportDetailTaskRow.isTotal {
  border-color: color-mix(in srgb, var(--focus), transparent 48%);
  background: #fff;
}

.reportDetailTaskRow.isTotal .portalDetailListTitle, .reportDetailTaskRow.isTotal .portalDetailListValue {
  color: color-mix(in srgb, var(--focus), black 18%);
}

.reportReadOnlyTaskTitle {
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.reportReadOnlyTaskTitle.isProcessing {
  color: var(--focus);
  font-size: 14px;
  font-weight: 600;
}

.reportReadOnlyTaskText, .reportReadOnlyTaskStatusText, .reportReadOnlyTaskReason {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.reportReadOnlyTaskReason {
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
}

.reportReadOnlyTaskBadge {
  border-radius: 999px;
  flex: none;
  align-items: center;
  gap: 5px;
  min-height: 24px;
  padding: 2px 8px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  display: inline-flex;
}

.reportReadOnlyTaskBadge svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 14px;
  height: 14px;
}

.reportReadOnlyTaskBadge.isFailed {
  color: #b42318;
  background: #fef0ef;
  border: 1px solid #f0443847;
}

.reportWorkerTaskDictationSpinner {
  border: 2px solid color-mix(in srgb, currentColor, transparent 70%);
  border-top-color: currentColor;
  border-radius: 999px;
  flex: none;
  width: 12px;
  height: 12px;
  animation: .8s linear infinite reportWorkerTaskDictationSpin;
}

@keyframes reportWorkerTaskDictationSpin {
  to {
    transform: rotate(360deg);
  }
}

.ticketsReadOnlyFieldGrid.isExpense, .ticketsReadOnlyFieldGrid.isMisc, .ticketsReadOnlyFieldGrid.isMaterial {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ticketsReadOnlyFieldGrid.isExpense .ticketsReadOnlyFieldDate {
  order: 1;
}

.ticketsReadOnlyFieldGrid.isExpense .ticketsReadOnlyFieldSubmitted {
  order: 2;
}

.ticketsReadOnlyFieldGrid.isExpense .ticketsReadOnlyFieldCategory {
  order: 3;
}

.ticketsReadOnlyFieldGrid.isExpense .ticketsReadOnlyFieldAmount {
  order: 4;
}

.ticketsReadOnlyFieldGrid .ticketsReadOnlyFieldTarget {
  order: 5;
  grid-column: 1 / -1;
}

.ticketsReadOnlyCombinedField {
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  display: grid;
}

.ticketsReadOnlyCombinedFieldBlock {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.ticketsReadOnlyCombinedFieldDivider {
  background: color-mix(in srgb, var(--stroke), transparent 10%);
  align-self: stretch;
  width: 1px;
}

.ticketsReadOnlyAttachmentGrid {
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
}

.ticketsReportIdLink {
  color: inherit;
  text-decoration: none;
}

.ticketsReportIdLink:hover {
  text-decoration: underline;
}

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

.adminOperationsDetailGridWide {
  grid-template-columns: minmax(220px, .7fr) minmax(0, 1fr);
}

.adminOperationsDetailField {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 6%);
  border-radius: var(--radius);
  background: #fff;
  gap: 5px;
  min-width: 0;
  padding: 10px 12px;
  display: grid;
}

.adminOperationsDetailFieldWide {
  grid-column: 1 / -1;
}

.adminOperationsDetailFieldNote {
  gap: 6px;
}

.adminOperationsDetailValue {
  overflow-wrap: anywhere;
  min-width: 0;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
}

.adminOperationsDetailNote {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: var(--radius);
  min-height: 76px;
  color: var(--fg);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  background: #fff;
  padding: 10px 12px;
  line-height: 1.45;
}

.adminOperationsDetailNotePlain {
  min-height: 76px;
  color: var(--fg);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  background: none;
  border: 0;
  padding: 0;
}

.adminOperationsReadOnlySectionTop {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.adminOperationsReadOnlyMetric {
  border-color: color-mix(in srgb, var(--focus), transparent 56%);
  background: color-mix(in srgb, var(--focus), white 94%);
  min-height: 32px;
  color: color-mix(in srgb, var(--focus), black 18%);
  padding: 4px 10px;
}

.adminOperationsReadOnlyList {
  gap: 8px;
  display: grid;
}

.adminOperationsReadOnlyListRow {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: var(--radius);
  background: #fff;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
  padding: 10px 12px;
  display: grid;
}

.adminOperationsReadOnlyListPrimary, .adminOperationsReadOnlyListSecondary {
  min-width: 0;
}

.adminOperationsReadOnlyListPrimary {
  overflow-wrap: anywhere;
  font-weight: 600;
}

.adminOperationsReadOnlyListSecondary {
  color: var(--muted);
  text-align: right;
}

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

.adminOperationsEditorGridSpan2 {
  grid-column: span 2;
}

.adminOperationsEditorMetaLine, .adminOperationsEditorSectionTitle {
  margin: 0;
}

.reportEditorContextBody {
  gap: 10px;
  display: grid;
}

.adminOperationsReadOnlyReportPage .reportEditorContextCard, .adminOperationsReadOnlyReportPage .reportEditorTasksCard, .adminOperationsReadOnlyReportPage .reportEditorTicketsCard {
  border-color: color-mix(in srgb, var(--focus), transparent 74%);
  background: color-mix(in srgb, var(--bg-2), white 42%);
}

.reportEditorContextHeader {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.reportEditorTitleBlock {
  gap: 8px;
  min-width: 0;
  display: grid;
}

.reportEditorContextSite {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  display: inline-flex;
}

.reportEditorContextSiteCode {
  color: color-mix(in srgb, var(--focus), black 8%);
}

.reportEditorContextIdentity {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.reportEditorContextIdentity .label {
  margin: 0;
}

.reportEditorCreatedByMeta {
  margin-top: 0;
}

.reportSectionTitle {
  font-family: var(--font-condensed);
  letter-spacing: .02em;
  margin: 0;
  font-size: 22px;
}

.reportWorkerContextBody {
  gap: 12px;
}

.reportWorkerFieldGrid {
  grid-template-columns: minmax(0, 220px) minmax(0, 1fr);
  align-items: end;
  gap: 10px;
  display: grid;
}

.reportWorkerSiteField {
  min-width: 0;
}

.reportEditorSectionBody, .reportWorkerTasksBody {
  gap: 10px;
  display: grid;
}

.reportWorkerTaskHeaderRow {
  grid-template-columns: minmax(0, 1fr) 160px 44px;
  align-items: end;
  gap: 8px;
  display: grid;
}

.reportWorkerTaskHeaderRow .label {
  margin: 0;
}

.reportWorkerTaskList {
  gap: 8px;
  display: grid;
}

.reportWorkerTaskRow {
  grid-template-columns: minmax(0, 1fr) 160px 44px;
  align-items: end;
  gap: 8px;
  display: grid;
}

.reportWorkerTaskNameField, .reportWorkerTaskHoursField {
  min-width: 0;
  margin: 0;
}

.reportWorkerTaskHoursField {
  grid-template-columns: 34px minmax(0, 1fr) 34px;
  align-items: center;
  gap: 6px;
  display: grid;
}

.reportWorkerTaskHoursInput {
  text-align: center;
}

.reportWorkerTaskStepBtn {
  min-width: 34px;
  min-height: 44px;
  padding: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}

.reportWorkerTaskRow .input.isError {
  border-color: color-mix(in srgb, var(--warn), transparent 25%);
}

.reportWorkerTaskRemoveBtn {
  min-width: 44px;
  min-height: 44px;
  padding: 0;
}

.reportWorkerAddTaskBtn {
  justify-self: start;
}

.reportWorkerTotalRow {
  grid-template-columns: minmax(0, 1fr) 160px 44px;
  align-items: end;
  gap: 8px;
  display: grid;
}

.reportWorkerTotalHoursCol {
  justify-items: end;
  gap: 2px;
  display: grid;
}

.reportWorkerTotalValue {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

.adminApprovalsTicketTypeToken {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  background: color-mix(in srgb, var(--bg-2), white 40%);
  letter-spacing: .01em;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-radius: 999px;
  align-items: center;
  min-width: 0;
  max-width: 160px;
  min-height: 20px;
  padding: 0 8px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  display: inline-flex;
  overflow: hidden;
}

.adminApprovalsTicketTypeToken.isExpense {
  background: #faf5ee;
  border-color: #c686258c;
}

.adminApprovalsTicketTypeToken.isMaterial {
  border-color: color-mix(in srgb, var(--ok), transparent 50%);
  background: color-mix(in srgb, var(--ok), white 93%);
}

.adminApprovalsTicketTypeToken.isMisc {
  border-color: color-mix(in srgb, var(--focus), transparent 50%);
  background: color-mix(in srgb, var(--focus), white 93%);
}

.adminOperationsMaterialEditorRows {
  gap: 10px;
  display: grid;
}

.adminOperationsMaterialEditorRow {
  grid-template-columns: minmax(0, 1.2fr) minmax(120px, 180px) minmax(120px, 160px) auto;
  align-items: end;
  gap: 10px;
  display: grid;
}

.adminOperationsEditorHoursField {
  max-width: 220px;
}

.adminOperationsTicketAttachmentGrid {
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 10px;
  display: grid;
}

.adminOperationsTicketAttachmentItem {
  color: inherit;
  gap: 6px;
  text-decoration: none;
  display: grid;
}

.adminOperationsTicketAttachmentImage {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  background: var(--bg-2);
  width: 100%;
}

.adminOperationsTicketAttachmentName {
  word-break: break-word;
  font-size: 12px;
  line-height: 1.3;
}

.adminTicketEditorFormBody {
  gap: 10px;
  padding: 14px 16px;
  display: grid;
}

.adminOperationsReadOnlyTicketPage .adminTicketEditorFormBody {
  background: color-mix(in srgb, var(--bg-2), white 42%);
  gap: 12px;
}

.adminTicketEditorMetaRow {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.adminTicketEditorMetaRowReadOnly {
  align-items: start;
}

.adminTicketEditorStatusPillReadOnly {
  align-self: start;
  margin-left: auto;
}

.adminTicketEditorInfoGrid {
  gap: 8px;
  display: grid;
}

.adminTicketEditorInfoValue {
  white-space: normal;
  overflow-wrap: anywhere;
  align-items: center;
  gap: 6px;
  width: fit-content;
  max-width: 100%;
  display: inline-flex;
}

.adminOperationsReadOnlyTicketPage .adminTicketEditorInfoValue {
  background: #fff;
}

.ticketsFormBody .field {
  gap: 6px;
  margin-top: 8px;
}

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

.ticketsGridSpan2 {
  grid-column: 1 / -1;
}

.ticketsTargetSection {
  gap: 8px;
  padding: 10px 0 2px;
  display: grid;
}

.ticketsTargetHeader {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.ticketsMaterialList {
  gap: 6px;
  margin-bottom: 6px;
  display: grid;
}

.ticketsMaterialRow {
  grid-template-columns: minmax(0, 1.35fr) 130px 110px auto;
  gap: 6px;
  display: grid;
}

.ticketsMiniBtn {
  min-height: 40px;
  font-size: var(--ops-font-action, 12px);
  padding: 6px 10px;
}

.ticketsMaterialRemoveBtn {
  justify-self: end;
  width: 44px;
  min-width: 44px;
  min-height: 44px;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.ticketsNotes {
  resize: vertical;
  min-height: 96px;
}

.portalInputHint {
  font-size: var(--ops-font-primary, 13px);
  color: var(--muted);
  margin: 0;
}

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

.ticketsAttachmentDropzone {
  border: 1px dashed color-mix(in srgb, var(--stroke), var(--fg) 8%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, var(--bg-2), var(--bg) 26%);
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 96px;
  margin-top: 4px;
  padding: 12px;
  transition: background-color .14s, border-color .14s, box-shadow .14s;
  display: grid;
}

.ticketsAttachmentDropzone:hover {
  background: color-mix(in srgb, var(--focus), white 96%);
  border-color: color-mix(in srgb, var(--focus), transparent 50%);
}

.ticketsAttachmentDropzone.isDragActive {
  background: color-mix(in srgb, var(--focus), white 93%);
  border-color: color-mix(in srgb, var(--focus), transparent 30%);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), transparent 76%);
}

.ticketsAttachmentDropzone:focus-visible, .ticketsAttachmentInputHidden:focus-visible + .ticketsAttachmentDropzone {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), transparent 60%);
  outline: none;
}

.ticketsAttachmentDropzone.isDisabled {
  cursor: not-allowed;
  opacity: .72;
}

.ticketsAttachmentDropzoneLead {
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.ticketsAttachmentDropzoneIcon {
  width: 22px;
  height: 22px;
  color: color-mix(in srgb, var(--muted), var(--fg) 30%);
}

.ticketsAttachmentDropzoneIcon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.ticketsAttachmentDropzoneText {
  font-size: var(--ops-font-primary, 13px);
  color: color-mix(in srgb, var(--muted), var(--fg) 18%);
  font-weight: 600;
}

.ticketsAttachmentDropzoneTextBlock {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.ticketsAttachmentDropzoneSubtext {
  font-size: var(--ops-font-meta, 12px);
  color: color-mix(in srgb, var(--fg), var(--muted) 48%);
  line-height: 1.3;
}

.ticketsAttachmentDropzoneActions {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.ticketsAttachmentDropzoneAction {
  min-width: 132px;
  min-height: 40px;
}

.ticketsAttachmentDropzoneActionSecondary {
  background: #fff;
}

.ticketsAttachmentDropzoneActionPhone {
  display: none;
}

.ticketsAttachmentGrid {
  grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
  gap: 6px;
  margin-top: 6px;
  display: grid;
}

.ticketsAttachmentItem {
  gap: 5px;
  min-width: 0;
  display: grid;
  position: relative;
}

.ticketsAttachmentPreviewBtn {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 10%);
  border-radius: calc(var(--radius) + 2px);
  background: color-mix(in srgb, var(--bg-2), var(--bg) 18%);
  cursor: pointer;
  padding: 0;
  line-height: 0;
  transition: border-color .14s, box-shadow .14s, background-color .14s, transform .14s;
  overflow: hidden;
}

.ticketsAttachmentPreviewBtn:hover, .ticketsAttachmentPreviewBtn:focus-visible {
  border-color: color-mix(in srgb, var(--focus), transparent 48%);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), transparent 78%);
  background: color-mix(in srgb, var(--focus), white 95%);
  transform: translateY(-1px);
}

.ticketsAttachmentPreview {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.ticketsAttachmentPreviewSurface {
  aspect-ratio: 4 / 3;
  background: color-mix(in srgb, var(--bg-2), var(--bg) 18%);
  width: 100%;
  display: block;
  position: relative;
  overflow: hidden;
}

.ticketsAttachmentPreviewSurface.isDocumentPreview {
  background: linear-gradient(#fcfcfc, #f0f2f4);
}

.ticketsAttachmentPreviewDocument {
  object-fit: cover;
  object-position: top center;
  background: #fff;
}

.ticketsAttachmentPreviewFallback {
  background: linear-gradient(180deg, color-mix(in srgb, var(--bg), white 82%), color-mix(in srgb, var(--bg-2), white 30%));
  color: color-mix(in srgb, var(--fg), var(--muted) 26%);
  place-items: center;
  display: grid;
  position: relative;
}

.ticketsAttachmentPreviewFallback.isPDF {
  color: #c7392f;
  background: linear-gradient(#fff6f5 0%, #ffe5e2 100%);
}

.ticketsAttachmentPreviewFallback.isPDF .ticketsAttachmentPreviewBadge {
  display: none;
}

.ticketsAttachmentPreviewFallback.isPDF .ticketsAttachmentPreviewFallbackIcon {
  width: 42px;
  height: 42px;
}

.ticketsAttachmentPreviewBadge {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 4%);
  background: color-mix(in srgb, var(--bg), white 80%);
  letter-spacing: 0;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-width: 34px;
  height: 20px;
  padding: 0 8px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
  position: absolute;
  top: 8px;
  left: 8px;
}

.ticketsAttachmentPreviewBadge.isDocumentPreview {
  color: #fff;
  -webkit-backdrop-filter: blur(6px);
  background: #c7392fc7;
  border-color: #ffffff57;
  min-width: 28px;
  height: 16px;
  padding: 0 6px;
  font-size: 9px;
  top: 6px;
  left: auto;
  right: 36px;
  box-shadow: 0 1px 2px #00000024;
}

.ticketsAttachmentPreviewFallbackIcon {
  width: 34px;
  height: 34px;
  display: block;
}

.ticketsAttachmentRemoveBtn {
  border: 1px solid color-mix(in srgb, var(--danger), transparent 40%);
  background: color-mix(in srgb, var(--danger), white 88%);
  width: 28px;
  height: 28px;
  color: var(--danger);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: inline-flex;
  position: absolute;
  top: 8px;
  right: 8px;
}

.ticketsAttachmentRemoveBtn svg {
  width: 13px;
  height: 13px;
}

.ticketsAttachmentMeta {
  justify-content: space-between;
  align-items: baseline;
  gap: 6px;
  min-width: 0;
  display: flex;
}

.ticketsAttachmentFileName {
  min-width: 0;
  font-size: var(--ops-font-meta, 12px);
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.25;
  overflow: hidden;
}

.ticketsAttachmentSize {
  font-size: var(--ops-font-micro, 11px);
  color: color-mix(in srgb, var(--fg), var(--muted) 42%);
  flex: none;
  line-height: 1.2;
}

@media (min-width: 901px) {
  .ticketsAttachmentDropzone {
    text-align: left;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .ticketsAttachmentDropzoneActions {
    justify-content: flex-end;
  }
}

.ticketsAttachedPill, .ticketsSavedPill {
  width: fit-content;
}

.ticketsActionsPrimary {
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  display: flex;
}

.ticketsFormActionsBar .btn {
  min-width: 170px;
}

.errorBox {
  border: 1px solid color-mix(in srgb, var(--danger), transparent 42%);
  background: color-mix(in srgb, var(--danger), white 92%);
  color: color-mix(in srgb, var(--danger), black 16%);
  border-radius: var(--radius);
  padding: 10px 12px;
  line-height: 1.4;
}

.ticketsAttachmentViewerBackdrop {
  z-index: 80;
  -webkit-backdrop-filter: blur(10px);
  background: #ebf1fcc7;
  place-items: center;
  padding: 16px;
  display: grid;
  position: fixed;
  inset: 0;
}

.ticketsAttachmentViewer {
  width: min(920px, 100%);
  max-height: min(90svh, 900px);
  color: color-mix(in srgb, var(--fg), black 8%);
  border: 1px solid color-mix(in srgb, var(--focus), white 72%);
  border-radius: calc(var(--radius) + 6px);
  background: linear-gradient(#fffffffa 0%, #f5f8fffa 100%);
  gap: 12px;
  padding: 16px;
  display: grid;
  position: relative;
  box-shadow: 0 28px 80px #1f40802e, 0 2px 12px #0f172a14;
}

.ticketsAttachmentViewer.isPdfViewer {
  background: #fff;
  width: min(1160px, 100%);
  max-height: min(96svh, 1080px);
}

.ticketsAttachmentViewer.isVideoViewer {
  background: #fff;
  width: min(1040px, 100%);
  max-height: min(96svh, 940px);
}

.ticketsAttachmentViewerCloseBtn {
  border: 1px solid color-mix(in srgb, var(--focus), white 72%);
  width: 36px;
  height: 36px;
  color: color-mix(in srgb, var(--focus), var(--fg) 18%);
  background: #ffffffdb;
  border-radius: 999px;
  flex: none;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  padding: 0;
  font-size: 24px;
  line-height: 1;
  display: inline-flex;
  position: static;
  box-shadow: 0 8px 22px #2563eb1f;
}

.ticketsAttachmentViewerTopRow {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.ticketsAttachmentViewerCounter {
  font-size: var(--ops-font-meta, 12px);
  color: color-mix(in srgb, var(--muted), var(--focus) 18%);
}

.ticketsAttachmentViewerName {
  min-width: 0;
  font-size: var(--ops-font-primary, 13px);
  color: color-mix(in srgb, var(--fg), black 8%);
  white-space: nowrap;
  text-overflow: ellipsis;
  flex: auto;
  overflow: hidden;
}

.ticketsAttachmentViewerOpenBtn {
  border-color: color-mix(in srgb, var(--focus), white 66%);
  background: color-mix(in srgb, var(--focus), white 92%);
  min-height: 36px;
  color: color-mix(in srgb, var(--focus), var(--fg) 14%);
  padding-inline: 12px;
  text-decoration: none;
}

.ticketsAttachmentViewerOpenBtn:hover, .ticketsAttachmentViewerOpenBtn:focus-visible {
  border-color: color-mix(in srgb, var(--focus), transparent 28%);
  background: color-mix(in srgb, var(--focus), white 84%);
  color: color-mix(in srgb, var(--focus), black 12%);
}

.ticketsAttachmentViewerStage {
  border: 1px solid color-mix(in srgb, var(--focus), white 82%);
  border-radius: calc(var(--radius) + 3px);
  background: linear-gradient(#fbfdfffa 0%, #ebf1fcfa 100%);
  place-items: center;
  min-height: 280px;
  display: grid;
  position: relative;
  overflow: hidden;
}

.ticketsAttachmentViewerStage.isDocumentPreview {
  padding: 24px 58px;
}

.ticketsAttachmentViewerStage.isPdfViewer {
  background: #fff;
  min-height: clamp(520px, 76svh, 980px);
  padding: 0;
  display: block;
}

.ticketsAttachmentViewerStage.isVideoViewer {
  background: #111827;
  min-height: min(72svh, 720px);
  padding: 0;
}

.ticketsAttachmentViewerNavBtn {
  border: 1px solid color-mix(in srgb, var(--focus), white 74%);
  width: 44px;
  height: 44px;
  color: color-mix(in srgb, var(--focus), var(--fg) 18%);
  z-index: 2;
  background: #ffffffe6;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: inline-flex;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  box-shadow: 0 8px 22px #2563eb1f;
}

.ticketsAttachmentViewerNavBtnPrev {
  left: 10px;
}

.ticketsAttachmentViewerNavBtnNext {
  right: 10px;
}

.ticketsAttachmentViewerNavBtn span {
  margin-top: -1px;
  font-size: 24px;
  line-height: 1;
}

.ticketsAttachmentViewerNavBtn:disabled {
  opacity: .48;
  cursor: not-allowed;
}

.ticketsAttachmentViewerImage {
  object-fit: contain;
  border-radius: calc(var(--radius) + 3px);
  width: auto;
  max-width: 100%;
  max-height: min(72svh, 860px);
  box-shadow: 0 22px 48px #0f172a1f,
    0 0 0 1px color-mix(in srgb, var(--stroke), transparent 10%);
  background: #fff;
  display: block;
}

.ticketsAttachmentViewerDocumentEmbed {
  display: none;
}

.ticketsAttachmentViewerDocumentFrame {
  background: #fff;
  border: 0;
  width: 100%;
  height: clamp(520px, 76svh, 980px);
  display: block;
}

.ticketsAttachmentViewerVideo {
  border-radius: calc(var(--radius) + 3px);
  background: #000;
  width: 100%;
  max-width: 100%;
  max-height: min(72svh, 760px);
  display: block;
}

.ticketsAttachmentViewerDocumentSheet {
  border-radius: calc(var(--radius) + 4px);
  border: 1px solid color-mix(in srgb, var(--focus), white 82%);
  box-sizing: border-box;
  background: linear-gradient(#f8fbff 0%, #eaf0fb 100%);
  width: min(100%, 620px);
  padding: 16px;
  display: block;
  position: relative;
  box-shadow: inset 0 0 0 1px #ffffffc7, 0 22px 48px #2563eb1a;
}

.ticketsAttachmentViewerDocumentImage {
  object-fit: contain;
  border-radius: calc(var(--radius) - 2px);
  width: 100%;
  height: auto;
  max-height: min(68svh, 760px);
  box-shadow: 0 18px 42px #0f172a1f,
    0 0 0 1px color-mix(in srgb, var(--stroke), transparent 6%);
  background: #fff;
  display: block;
}

.ticketsAttachmentViewerDocumentBadge {
  color: #2f5fc7;
  -webkit-backdrop-filter: blur(6px);
  background: #ffffffc7;
  border: 1px solid #2563eb29;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-width: 34px;
  height: 18px;
  padding: 0 7px;
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
  position: absolute;
  top: 18px;
  left: auto;
  right: 18px;
}

.ticketsAttachmentViewerDocumentFallbackStage {
  border-radius: calc(var(--radius) + 4px);
  border: 1px solid color-mix(in srgb, var(--focus), white 82%);
  background: linear-gradient(#f8fbff 0%, #eaf0fb 100%);
  place-items: center;
  width: min(100%, 420px);
  min-height: min(52svh, 420px);
  padding: 18px;
  display: grid;
  box-shadow: inset 0 0 0 1px #ffffffc7, 0 22px 48px #2563eb1a;
}

.adminOperationsApprovalsFilterForm {
  display: block;
}

@media (max-width: 1360px) {
  .adminApprovalsColItem {
    width: 156px;
  }

  .adminApprovalsColUser {
    width: 140px;
  }

  .adminApprovalsColState {
    width: 150px;
  }

  .adminApprovalsColActionLane {
    width: 184px;
  }

  .adminApprovalsResultsBody .adminApprovalsTable thead th {
    font-size: var(--ops-font-table-header, 13px);
    letter-spacing: .01em;
  }

  .adminApprovalsActionLane {
    grid-template-columns: 60px 38px 38px 32px;
  }

  .adminApprovalsQuickActionViewBtn {
    width: 60px;
    min-width: 60px;
    font-size: 11px;
  }

  .adminApprovalsQuickActionBtn, .adminApprovalsQuickActionPaidBtn {
    width: 38px !important;
    min-width: 38px !important;
  }

  .adminApprovalsActionPlaceholder {
    width: 38px;
  }
}

@media (max-width: 1220px) {
  .adminApprovalsColItem {
    width: 146px;
  }

  .adminApprovalsColUser {
    width: 128px;
  }

  .adminApprovalsColState {
    width: 138px;
  }

  .adminApprovalsColActionLane {
    width: 170px;
  }

  .adminApprovalsActionLane {
    grid-template-columns: 54px 34px 34px 32px;
    column-gap: 3px;
  }

  .adminApprovalsQuickActionViewBtn {
    width: 54px;
    min-width: 54px;
    padding: 0 6px !important;
  }

  .adminApprovalsQuickActionBtn, .adminApprovalsQuickActionPaidBtn {
    width: 34px !important;
    min-width: 34px !important;
  }

  .adminApprovalsQuickActionIcon {
    width: 14px;
    height: 14px;
  }

  .adminApprovalsActionPlaceholder {
    width: 34px;
  }

  .adminApprovalsTable .adminUsersNameLine, .adminApprovalsReferenceLink, .adminApprovalsInfoLinePrimary {
    font-size: 13px;
  }

  .adminApprovalsSecondaryLine, .adminApprovalsInfoLineSecondary, .adminApprovalsStateTime {
    font-size: 11px;
  }
}

.adminDirectoryFormGrid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  display: grid;
}

@media (max-width: 1200px) {
  .adminOperationsReadOnlyPage .portalDetailFieldGrid, .adminOperationsReadOnlyPage .ticketsReadOnlyFieldGrid.isExpense, .adminOperationsReadOnlyPage .ticketsReadOnlyFieldGrid.isMaterial, .adminOperationsReadOnlyPage .ticketsReadOnlyFieldGrid.isMisc {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .adminOperationsReadOnlyPage .ticketsReadOnlyFieldGrid .ticketsReadOnlyFieldTarget {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  .adminSessionsSummaryGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

@media (max-width: 820px) {
  .adminSessionsTableWrap {
    display: none;
  }

  .adminSessionsList {
    max-height: max(520px, calc(100dvh - var(--admin-shell-header-height) - 320px));
    padding-right: 2px;
    display: grid;
    overflow: auto;
  }

  .adminSessionsListItem {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
  }

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

  .adminSessionsMetaItemWide {
    grid-column: 1 / -1;
  }

  .adminSessionsActionCell {
    text-align: left;
    grid-column: 2;
    justify-content: flex-start;
  }
}

@media (max-width: 520px) {
  .adminSessionsToolbarMetaActions {
    justify-content: space-between;
    width: 100%;
  }

  .adminSessionsToolbarMetaActions .btn {
    flex: none;
  }
}

@media (max-width: 360px) {
  .adminSessionsSummaryGrid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 900px) {
  .adminOperationsApprovalDecisionBody {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  .adminOperationsApprovalDecisionActions {
    justify-content: stretch;
  }

  .adminOperationsApprovalDecisionActions .btn {
    flex: 140px;
    justify-content: center;
  }

  .adminOperationsDetailHeaderActions {
    justify-content: stretch;
    width: 100%;
  }

  .adminOperationsDetailHeaderActions .btn {
    flex: 140px;
    justify-content: center;
  }

  .adminOperationsFlowChoiceGrid, .adminFinanceChoiceGrid, .adminOperationsFlowSegmentRow {
    grid-template-columns: minmax(0, 1fr);
  }

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

  .adminOperationsFlowSectionAside {
    justify-content: flex-start;
  }

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

  .adminOperationsEditorGridSpan2 {
    grid-column: auto;
  }

  .adminOperationsDetailGrid, .adminOperationsDetailGridWide {
    grid-template-columns: 1fr;
  }

  .portalDetailHeroBody, .reportReadOnlyHeroBody, .ticketsReadOnlyHeroBody {
    padding: 16px !important;
  }

  .adminOperationsUnifiedFlow > .card > .cardBody {
    padding: 16px;
  }

  .portalDetailFieldGrid, .adminOperationsReadOnlyPage .ticketsReadOnlyFieldGrid.isExpense, .adminOperationsReadOnlyPage .ticketsReadOnlyFieldGrid.isMaterial, .adminOperationsReadOnlyPage .ticketsReadOnlyFieldGrid.isMisc {
    grid-template-columns: 1fr;
  }

  .ticketsReadOnlyCombinedField {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .ticketsReadOnlyCombinedFieldDivider {
    width: 100%;
    height: 1px;
  }

  .portalDetailSection {
    padding: 16px;
  }

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

  .reportWorkerTaskHeaderRow {
    grid-template-columns: minmax(0, 1fr) 96px 44px;
  }

  .reportWorkerTaskRow {
    grid-template-columns: minmax(0, 1fr) 168px 44px;
    align-items: center;
  }

  .reportWorkerTaskHoursField {
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    gap: 4px;
  }

  .reportWorkerTaskStepBtn {
    min-width: 44px;
  }

  .reportWorkerTotalRow {
    grid-template-columns: minmax(0, 1fr) 168px 44px;
  }

  .reportWorkerTotalHoursCol {
    text-align: right;
    justify-items: end;
  }

  .reportEditorContextSiteCode {
    font-size: 28px;
  }

  .adminApprovalsTicketTypeToken {
    display: none;
  }

  .ticketsFormGrid {
    grid-template-columns: 1fr;
  }

  .ticketsMaterialRow {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 52px;
    align-items: end;
  }

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

  .ticketsAttachmentPreview {
    aspect-ratio: 1;
  }

  .ticketsAttachmentDropzone {
    text-align: center;
    border-width: 2px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;
    min-height: 96px;
    padding: 12px;
    display: flex;
  }

  .ticketsAttachmentDropzoneLead {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
    width: 100%;
  }

  .ticketsAttachmentDropzoneIcon {
    width: 20px;
    height: 20px;
  }

  .ticketsAttachmentDropzoneTextBlock {
    text-align: center;
    justify-items: center;
    width: 100%;
  }

  .ticketsAttachmentDropzoneText {
    font-size: 13px;
  }

  .ticketsAttachmentDropzoneSubtext {
    font-size: 11px;
  }

  .ticketsAttachmentDropzoneActions {
    gap: 8px;
    width: 100%;
    display: grid;
  }

  .ticketsAttachmentDropzoneAction {
    width: 100%;
  }

  .ticketsAttachmentDropzoneActionPhone {
    display: inline-flex;
  }

  .ticketsAttachmentViewerBackdrop {
    padding: 10px;
  }

  .ticketsAttachmentViewer {
    gap: 10px;
    padding: 10px;
  }

  .ticketsAttachmentViewerStage {
    min-height: 220px;
  }

  .ticketsAttachmentViewerStage.isDocumentPreview {
    padding: 14px 44px;
  }

  .ticketsAttachmentViewerStage.isPdfViewer {
    min-height: min(68svh, 620px);
  }

  .ticketsAttachmentViewerStage.isVideoViewer {
    min-height: min(58svh, 520px);
  }

  .ticketsAttachmentViewerImage {
    max-height: min(62svh, 560px);
  }

  .ticketsAttachmentViewerVideo {
    max-height: min(58svh, 520px);
  }

  .ticketsAttachmentViewerDocumentFrame {
    height: min(68svh, 620px);
  }

  .ticketsAttachmentViewerDocumentSheet {
    width: min(100%, 440px);
    padding: 12px;
  }

  .ticketsAttachmentViewerDocumentImage {
    max-height: min(56svh, 500px);
  }

  .ticketsAttachmentViewerDocumentFallbackStage {
    width: min(100%, 320px);
    min-height: min(44svh, 300px);
    padding: 14px;
  }

  .ticketsAttachmentViewerNavBtn {
    width: 40px;
    height: 40px;
  }

  .ticketsAttachmentViewerNavBtnPrev {
    left: 6px;
  }

  .ticketsAttachmentViewerNavBtnNext {
    right: 6px;
  }

  .ticketsActionsPrimary {
    width: 100%;
  }

  .ticketsFormActionsBar .btn {
    width: 100%;
    min-width: 0;
  }
}

.adminHeaderBody {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  display: flex;
}

.adminHeaderTitleWrap {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminPageTitle {
  font-family: var(--font-condensed);
  letter-spacing: .02em;
  margin: 0;
  font-size: 30px;
  line-height: 1.15;
}

.adminOperationsHeaderTitleRow {
  align-items: center;
  gap: 6px;
  max-width: 100%;
  display: inline-flex;
}

.adminOperationsHeaderPendingBadge {
  min-width: 22px;
  min-height: 22px;
  font-family: var(--font-mono);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 0 7px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
}

.adminOperationsHeaderPendingBadge.adminOperationsPendingBadge {
  border-color: color-mix(in srgb, var(--danger), black 8%);
  background: var(--danger);
  color: #fff;
}

.adminCountPill {
  justify-content: center;
  min-width: 84px;
}

.adminCountValue {
  color: var(--accent);
}

.adminDirectoryTitleCountPill {
  background: var(--bg);
  border-radius: 8px;
  min-height: 26px;
  padding: 3px 8px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}

.adminUsersRoleWarningStrip {
  border: 1px solid color-mix(in srgb, var(--warn), transparent 56%);
  border-left: 3px solid color-mix(in srgb, var(--warn), black 6%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--warn), white 94%);
  min-height: 44px;
  color: color-mix(in srgb, var(--fg), var(--warn) 24%);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 8px 10px 8px 12px;
  display: flex;
}

.adminUsersRoleWarningText {
  align-items: center;
  gap: 8px;
  min-width: 0;
  font-size: 13px;
  line-height: 1.35;
  display: flex;
}

.adminUsersRoleWarningIcon, .adminUsersRoleWarningCount {
  border: 1px solid color-mix(in srgb, var(--warn), transparent 50%);
  background: color-mix(in srgb, var(--warn), white 86%);
  color: color-mix(in srgb, var(--warn), black 24%);
  flex: none;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.adminUsersRoleWarningIcon {
  border-radius: 999px;
  width: 18px;
  height: 18px;
  font-size: 11px;
  font-weight: 800;
}

.adminUsersRoleWarningCount {
  border-radius: 999px;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  font-size: 12px;
  font-weight: 700;
}

.adminUsersRoleWarningAction {
  border-color: color-mix(in srgb, var(--warn), transparent 42%);
  min-height: 32px;
  color: color-mix(in srgb, var(--warn), black 28%);
  background: #fff;
  padding: 5px 10px;
  font-size: 13px;
}

.adminUsersRoleWarningAction:hover {
  border-color: color-mix(in srgb, var(--warn), transparent 24%);
  background: color-mix(in srgb, var(--warn), white 90%);
}

.adminUsersRoleWarningAction[aria-pressed="true"] {
  background: color-mix(in srgb, var(--warn), white 84%);
}

.adminUsersListPage .adminListTableWrap {
  overflow-x: auto;
}

.adminUsersListPage, .adminUsersListPage .card, .adminUsersListPage .cardBody {
  min-width: 0;
}

.adminUsersListPage .adminListTable {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  min-width: 980px;
}

.adminUsersListPage .adminListTable thead th {
  text-align: left;
  letter-spacing: .01em;
  color: color-mix(in srgb, var(--fg), black 8%);
  border-bottom: 1px solid var(--stroke);
  padding: 12px;
  font-size: 16px;
  font-weight: 700;
}

.adminUsersListPage .adminListTable thead th:last-child {
  text-align: right;
}

.adminUsersListPage .adminListTable th:nth-child(3), .adminUsersListPage .adminListTable td:nth-child(3) {
  width: 150px;
}

.adminUsersListPage .adminListTable th:nth-child(2), .adminUsersListPage .adminListTable td:nth-child(2) {
  width: 34%;
}

.adminUsersListPage .adminListTable th:nth-child(4), .adminUsersListPage .adminListTable td:nth-child(4) {
  width: 170px;
}

.adminUsersListPage .adminListTable th:nth-child(5), .adminUsersListPage .adminListTable td:nth-child(5) {
  width: 138px;
}

.adminUsersListPage .adminListTable th:nth-child(6), .adminUsersListPage .adminListTable td:nth-child(6) {
  width: 176px;
}

.adminUsersListPage .adminListTable th:nth-child(5) .adminGeoSortHeaderBtn, .adminUsersListPage .adminListTable th:nth-child(6) .adminGeoSortHeaderBtn {
  white-space: nowrap;
}

.adminUsersActionsHeader {
  width: 104px;
}

.adminOperationsReviewActionsHeader {
  width: 188px;
}

.adminUsersListPage .adminListTable tbody td {
  border-bottom: 1px solid var(--stroke);
  vertical-align: middle;
  padding: 14px 12px;
  font-size: 14px;
  line-height: 1.3;
}

.adminUsersListPage .adminListTable td:nth-child(5), .adminUsersListPage .adminListTable td:nth-child(6) {
  font-size: 13px;
  line-height: 1.25;
}

.adminUsersListPage .adminListRow {
  transition: background-color .14s;
}

.adminUsersListPage .adminListRow:hover {
  background: color-mix(in srgb, var(--focus), white 96%);
}

.adminUsersListPage .adminListRow:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 28%);
  outline-offset: -2px;
}

.adminUsersNameCell {
  align-items: center;
  gap: 12px;
  min-width: 240px;
  display: flex;
}

.adminUsersNameMeta {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminUsersNameLine {
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  overflow: hidden;
}

.adminUsersNameLineRow {
  align-items: center;
  gap: 6px;
  min-width: 0;
  display: flex;
}

.adminUsersNameCell .mono, .adminUsersNameCell .muted {
  font-size: 13px;
  line-height: 1.25;
}

.adminUsersNameMeta .muted {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.adminUsersStatusBadge {
  border: 1px solid var(--stroke);
  letter-spacing: .02em;
  text-transform: uppercase;
  border-radius: 999px;
  flex-shrink: 0;
  align-items: center;
  width: fit-content;
  min-height: 16px;
  padding: 0 6px;
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  display: inline-flex;
}

.adminUsersStatusBadgeInactive {
  color: color-mix(in srgb, var(--danger), black 10%);
  background: color-mix(in srgb, var(--danger), white 90%);
  border-color: color-mix(in srgb, var(--danger), transparent 36%);
}

.adminUsersStatusBadgeActive {
  color: color-mix(in srgb, var(--fg), var(--muted) 30%);
  background: color-mix(in srgb, var(--bg), var(--bg-2) 60%);
  border-color: color-mix(in srgb, var(--stroke), black 2%);
}

.adminUsersStatusBadgePendingDeletion {
  color: color-mix(in srgb, var(--warning), black 18%);
  background: color-mix(in srgb, var(--warning), white 86%);
  border-color: color-mix(in srgb, var(--warning), transparent 30%);
}

.adminUsersStatusBadgeDeleted {
  color: color-mix(in srgb, var(--danger), black 14%);
  background: color-mix(in srgb, var(--danger), white 88%);
  border-color: color-mix(in srgb, var(--danger), transparent 34%);
}

.adminUsersStatusBadgeDemo {
  color: color-mix(in srgb, var(--accent), black 18%);
  background: color-mix(in srgb, var(--accent), white 88%);
  border-color: color-mix(in srgb, var(--accent), transparent 34%);
}

.adminUsersRoleText, .adminUsersCategoryText {
  color: color-mix(in srgb, var(--fg), black 2%);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.25;
}

.adminUsersCategoryText {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  display: inline-block;
  overflow: hidden;
}

.adminUsersCategoryText.muted {
  color: var(--muted);
}

.adminUsersRowActions {
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  width: 100%;
  display: inline-flex;
}

.adminListEditBtn {
  border-color: color-mix(in srgb, var(--stroke), black 10%);
  background: color-mix(in srgb, var(--bg-2), var(--bg) 18%);
  border-radius: 8px;
  min-height: 32px;
  font-size: 13px;
  font-weight: 600;
  padding-left: 13px !important;
  padding-right: 13px !important;
}

.adminListEditBtn:hover {
  border-color: color-mix(in srgb, var(--focus), transparent 58%);
  background: color-mix(in srgb, var(--focus), white 97%);
}

.adminUsersMenuWrap {
  position: relative;
}

.adminUsersMenuTrigger {
  min-width: 28px;
  min-height: 32px;
  color: color-mix(in srgb, var(--fg), white 22%);
  cursor: pointer;
  background: none;
  border: 0;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: inline-flex;
}

.adminUsersMenuTrigger:hover {
  color: color-mix(in srgb, var(--fg), black 8%);
}

.adminUsersMenuTrigger:focus-visible {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), transparent 30%);
  border-radius: 6px;
  outline: none;
}

.adminUsersKebabDots {
  background: currentColor;
  border-radius: 999px;
  width: 4px;
  height: 4px;
  display: inline-block;
  box-shadow: 0 -7px, 0 7px;
}

.adminUsersMenu {
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  min-width: 220px;
  box-shadow: var(--shadow-2);
  background: var(--bg);
  z-index: 40;
  gap: 4px;
  padding: 6px;
  display: grid;
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
}

.adminUsersMenuFloating {
  position: fixed;
  top: 0;
  left: 0;
  right: auto;
}

.adminUsersMenuItem {
  color: inherit;
  text-align: left;
  border-radius: var(--radius);
  cursor: pointer;
  background: none;
  border: 0;
  min-height: 40px;
  padding: 8px 10px;
  font-size: 14px;
}

.adminUsersMenuItem:hover {
  background: color-mix(in srgb, var(--focus), white 92%);
}

.adminUsersMenuItem:focus-visible {
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--focus), transparent 20%);
  outline: none;
}

.adminUsersMenuItemDanger {
  color: color-mix(in srgb, var(--danger), black 6%);
}

.adminUsersMenuItemDanger:hover {
  background: color-mix(in srgb, var(--danger), white 90%);
}

.adminUsersMenuItemDisabled {
  border-radius: var(--radius);
  min-height: 40px;
  color: var(--muted);
  margin: 0;
  padding: 8px 10px;
  font-size: 14px;
}

.adminFormBody {
  gap: 14px;
  display: grid;
}

.adminFormBodyCompact {
  align-content: start;
}

.adminUserFormSection {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  gap: 12px;
  padding-top: 14px;
  display: grid;
}

.adminUserFormSection:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.adminUserFormSectionHead {
  gap: 4px;
  display: grid;
}

.adminUserEditProfileHead {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 4%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg-2), var(--bg) 16%);
  align-items: center;
  gap: 12px;
  padding: 10px;
  display: flex;
}

.adminUserEditProfileAvatar {
  flex: none;
}

.adminUserEditProfileMeta {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminUserEditProfileName {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

.adminUserEditProfileUsername {
  margin: 0;
  font-size: 13px;
}

.adminUserEditProfilePills {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  display: flex;
}

.adminUserEditProfileActions {
  gap: 8px;
  padding: 8px 10px 0;
  display: grid;
}

.adminUserEditProfileActionsMeta {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminUserEditProfileActionsMeta .label, .adminUserEditProfileActionsMeta .muted {
  margin: 0;
}

.adminUserEditProfileActionsButtons {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminUserAccessSummaryNote, .adminUserAccessSummaryText {
  margin: 0;
}

.adminUserAccessPanelCard {
  gap: 0;
}

.adminUserAccessSectionHead {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  padding: 4px 4px 16px;
  display: flex;
}

.adminUserAccessSectionTitle {
  flex: auto;
  gap: 5px;
  min-width: 0;
  display: grid;
}

.adminUserAccessSectionTitle h2, .adminUserAccessSectionTitle p {
  margin: 0;
}

.adminUserAccessSectionTitle h2 {
  font-size: 22px;
  line-height: 1.15;
}

.adminUserAccessDetails {
  gap: 0;
  display: grid;
}

.adminUserAccessToggle {
  width: 100%;
  color: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 0;
  list-style: none;
  display: flex;
}

.adminUserAccessToggle::-webkit-details-marker {
  display: none;
}

.adminUserAccessDetails > .adminUserAccessToggle {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  padding: 12px 4px 14px;
  transition: border-color .12s;
}

.adminUserAccessToggle:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 14%);
  outline-offset: 4px;
  border-radius: var(--radius);
}

.adminUserAccessDetails:not([open]) > .adminUserAccessToggle:hover {
  background: color-mix(in srgb, var(--focus), white 97%);
  border-radius: calc(var(--radius) + 2px);
  border-bottom-color: #0000;
}

.adminUserAccessToggleMain {
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.adminUserAccessToggleGlyph {
  width: 20px;
  height: 20px;
  color: color-mix(in srgb, var(--muted), var(--fg) 18%);
  flex: none;
  justify-content: center;
  align-items: center;
  margin-top: 1px;
  transition: color .12s;
  display: inline-flex;
}

.adminUserAccessToggle:hover .adminUserAccessToggleGlyph {
  color: color-mix(in srgb, var(--focus), black 10%);
}

.adminUserAccessToggleGlyphSvg {
  width: 18px;
  height: 18px;
  transition: transform .14s;
}

.adminUserAccessDetails[open] .adminUserAccessToggleGlyphSvg {
  transform: rotate(90deg);
}

.adminUserAccessToggleText {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.adminUserAccessToggleText strong {
  font-size: 17px;
  line-height: 1.2;
}

.adminUserAccessMetric {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  background: color-mix(in srgb, var(--bg-2), white 22%);
  min-height: 32px;
  color: color-mix(in srgb, var(--fg), var(--muted) 16%);
  white-space: nowrap;
  border-radius: 999px;
  flex: none;
  align-items: center;
  padding: 0 12px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  display: inline-flex;
}

.adminUserAccessMetric.isPrimary {
  border-color: color-mix(in srgb, var(--focus), transparent 42%);
  background: color-mix(in srgb, var(--focus), white 95%);
  color: color-mix(in srgb, var(--focus), black 24%);
}

.adminUserAccessPanelBody {
  gap: 16px;
  padding: 18px 0 4px;
  display: grid;
}

.adminUserDirectGrantSectionHead {
  cursor: pointer;
}

.adminUserDirectGrantDisclosure .adminSectionDisclosureChevron {
  transform: rotate(-90deg);
}

.adminUserDirectGrantDisclosure[open] .adminSectionDisclosureChevron {
  transform: rotate(0);
}

.adminUserAccessReadonlyValue {
  align-items: center;
  min-height: 44px;
  display: flex;
}

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

.adminUserAccessHeroCard {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  border-radius: calc(var(--radius) + 2px);
  background: linear-gradient(180deg, color-mix(in srgb, white, var(--bg-2) 18%) 0%, color-mix(in srgb, var(--bg), white 12%) 100%);
  gap: 8px;
  padding: 14px 15px;
  display: grid;
  box-shadow: inset 0 1px #fff9;
}

.adminUserAccessHeroCard.isPrimary {
  border-color: color-mix(in srgb, var(--focus), transparent 48%);
  background: linear-gradient(180deg, color-mix(in srgb, var(--focus), white 96%) 0%, color-mix(in srgb, white, var(--bg) 6%) 100%);
}

.adminUserAccessHeroCard.isException {
  border-color: color-mix(in srgb, var(--warn), transparent 44%);
  background: linear-gradient(180deg, color-mix(in srgb, var(--warn), white 97%) 0%, color-mix(in srgb, white, var(--bg) 5%) 100%);
}

.adminUserAccessHeroCard.isClean {
  border-color: color-mix(in srgb, var(--success), transparent 46%);
  background: linear-gradient(180deg, color-mix(in srgb, var(--success), white 97%) 0%, color-mix(in srgb, white, var(--bg) 5%) 100%);
}

.adminUserAccessHeroHead {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.adminUserAccessTemplateIdentity {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  display: flex;
}

.adminUserAccessTemplateIdentity strong {
  font-size: 20px;
  line-height: 1.1;
}

.adminUserAccessTemplateIdentity .mono {
  color: var(--muted);
  font-size: 13px;
}

.adminUserAccessCardText {
  color: color-mix(in srgb, var(--fg), var(--muted) 28%);
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
}

.adminUserAccessCapabilitiesBlock {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-radius: calc(var(--radius) + 2px);
  background: linear-gradient(180deg, color-mix(in srgb, var(--bg-2), white 26%) 0%, color-mix(in srgb, white, var(--bg) 8%) 100%);
  gap: 14px;
  padding: 15px;
  display: grid;
}

.adminUserAccessCapabilitiesHeader {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.adminUserAccessCapabilitiesHeaderText {
  gap: 4px;
  display: grid;
}

.adminUserAccessCapabilitiesHeaderText .muted {
  margin: 0;
}

.adminUserAccessModuleGrid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 12px;
  display: grid;
}

.adminUserAccessModuleCard {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  border-radius: calc(var(--radius) + 1px);
  background: color-mix(in srgb, white, var(--bg-2) 16%);
  align-content: start;
  gap: 10px;
  min-height: 0;
  padding: 12px 13px;
  display: grid;
}

.adminUserAccessModuleHead {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminUserAccessModuleHead strong {
  font-size: 15px;
}

.adminUserAccessCapabilityList {
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.adminUserAccessCapabilityItem {
  gap: 2px;
  padding-left: 12px;
  display: grid;
  position: relative;
}

.adminUserAccessCapabilityItem:before {
  content: "";
  background: color-mix(in srgb, var(--focus), white 18%);
  border-radius: 999px;
  width: 5px;
  height: 5px;
  position: absolute;
  top: 8px;
  left: 0;
}

.adminUserAccessCapabilityName {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
}

.adminUserAccessCapabilityDescription {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.adminUserAccessSummaryNote {
  border-radius: calc(var(--radius) + 1px);
  border: 1px solid color-mix(in srgb, var(--warn), transparent 54%);
  background: color-mix(in srgb, var(--warn), white 97%);
  padding: 10px 12px;
}

.adminUserDirectGrantSearch {
  margin: 0;
}

.adminUserDirectGrantGrid {
  gap: 12px;
  display: grid;
}

.adminUserDirectGrantGroup {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  border-radius: calc(var(--radius) + 1px);
  background: color-mix(in srgb, white, var(--bg-2) 12%);
  gap: 10px;
  padding: 12px 13px;
  display: grid;
}

.adminUserDirectGrantList {
  gap: 7px;
  display: grid;
}

.adminUserDirectGrantRow {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  border-radius: var(--radius);
  background: color-mix(in srgb, white, var(--bg-2) 8%);
  grid-template-columns: 22px minmax(0, 1fr) auto;
  align-items: flex-start;
  gap: 10px;
  min-height: 44px;
  padding: 9px 10px;
  display: grid;
}

.adminUserDirectGrantRow input {
  margin-top: 3px;
}

.adminUserDirectGrantText {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminUserDirectGrantMatrix {
  min-width: 0;
}

.adminUserDirectGrantMatrix .adminRolesPermissionsStats {
  justify-content: flex-start;
}

.adminUserDirectGrantInheritedPill {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 56%);
  background: color-mix(in srgb, var(--focus), white 96%);
  min-height: 24px;
  color: color-mix(in srgb, var(--focus), black 16%);
  white-space: nowrap;
  border-radius: 999px;
  align-items: center;
  padding: 0 8px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
}

.adminUserAvatarActionBtn {
  min-height: 38px;
  padding: 7px 14px;
  font-size: 14px;
}

.adminUsersAvatarInput {
  display: none;
}

.adminUserAvatarError {
  margin: 0;
}

.adminUserCategoryAssignmentsCard {
  gap: 14px;
}

.adminUserCategoryAssignmentsHead {
  padding-bottom: 14px;
}

.adminUserCategoryAssignmentEditor {
  grid-template-columns: minmax(220px, 1.4fr) minmax(150px, .7fr) minmax(150px, .7fr) auto;
  align-items: end;
  gap: 10px;
  display: grid;
}

.adminUserCategoryAssignmentEditor .adminSettingsField {
  margin: 0;
}

.adminUserCategoryAssignmentAdd {
  white-space: nowrap;
  min-height: 44px;
}

.adminUsersCategoryAssignmentEmpty {
  margin: 0;
}

.adminUsersCategoryAssignmentTableWrap {
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  background: #fff;
  overflow-x: auto;
}

.adminUsersCategoryAssignmentTable {
  border-collapse: collapse;
  width: 100%;
  min-width: 820px;
}

.adminUsersCategoryAssignmentTable th, .adminUsersCategoryAssignmentTable td {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  text-align: left;
  vertical-align: middle;
  padding: 10px;
}

.adminUsersCategoryAssignmentTable th {
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0;
  font-size: 11px;
  font-weight: 800;
}

.adminUsersCategoryAssignmentTable tbody tr:last-child td {
  border-bottom: 0;
}

.adminUsersCategoryAssignmentTable .input {
  min-height: 40px;
}

.adminUsersCategoryAssignmentStatus {
  justify-content: center;
  min-width: 88px;
}

.adminUsersCategoryAssignmentStatus.is-current {
  border-color: color-mix(in srgb, var(--success), white 58%);
  background: color-mix(in srgb, var(--success), white 92%);
  color: color-mix(in srgb, var(--success), #111 30%);
}

.adminUsersCategoryAssignmentStatus.is-future {
  border-color: color-mix(in srgb, var(--focus), white 58%);
  background: color-mix(in srgb, var(--focus), white 94%);
  color: color-mix(in srgb, var(--focus), #111 18%);
}

.adminUsersCategoryAssignmentStatus.is-historical {
  color: var(--muted);
}

.adminUserCategoryAssignmentSave {
  white-space: nowrap;
  min-height: 40px;
}

.adminFormStack {
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  display: grid;
}

.adminUsersRolesField {
  margin-top: 0;
}

.adminUsersRoleChoiceField {
  gap: 8px;
  display: grid;
}

.adminUsersRequiredMark {
  color: color-mix(in srgb, var(--danger), var(--fg) 22%);
  margin-left: 4px;
  font-weight: 700;
}

.adminUsersSuggestionAction {
  width: fit-content;
  min-height: 34px;
  margin-top: 6px;
  padding: 6px 10px;
}

.adminUsersLifecycleActions {
  justify-content: flex-end;
}

.adminSupplierPaymentAccountsSection {
  border-top: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 6%);
  gap: 10px;
  margin-top: 12px;
  padding-top: 8px;
  display: grid;
}

.adminSupplierPaymentAccountsHeader {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: start;
  gap: 12px;
  display: flex;
}

.adminSupplierPaymentAccountsTitleBlock {
  gap: 0;
  display: grid;
}

.adminSupplierPaymentAccountsTitle {
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
}

.adminSupplierPaymentAccountAddBtn {
  min-height: 40px;
  padding-inline: 18px;
  font-size: 14px;
}

.adminSupplierPaymentAccountsList {
  gap: 10px;
  display: grid;
}

.adminSupplierPaymentAccountRow {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 6%);
  background: color-mix(in srgb, var(--surface), var(--paper) 18%);
  border-radius: var(--radius);
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 14px 18px;
  padding: 16px 18px;
  display: grid;
  box-shadow: 0 1px #1014180a;
}

.adminSupplierPaymentAccountRow.isInactive {
  opacity: .72;
}

.adminSupplierPaymentAccountMain {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.adminSupplierPaymentAccountTopline {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  display: flex;
}

.adminSupplierPaymentAccountIban {
  font-size: 17px;
  line-height: 1.15;
}

.adminSupplierPaymentAccountBadge {
  letter-spacing: .03em;
  text-transform: uppercase;
  align-self: center;
  min-height: 0;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
}

.adminSupplierPaymentAccountMeta {
  color: var(--muted);
  flex-wrap: wrap;
  gap: 6px 12px;
  font-size: 15px;
  line-height: 1.3;
  display: flex;
}

.adminSupplierPaymentAccountMetaPrimary {
  color: var(--fg);
  font-weight: 500;
}

.adminSupplierPaymentAccountMetaSecondary:before {
  content: "·";
  color: color-mix(in srgb, var(--muted), transparent 18%);
  margin-right: 8px;
}

.adminSupplierPaymentAccountNotes {
  max-width: 72ch;
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
}

.adminSupplierPaymentAccountActions {
  flex-wrap: wrap;
  justify-content: flex-end;
  place-self: start end;
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.adminSupplierPaymentAccountActionBtn {
  min-height: 36px;
  box-shadow: none;
  padding: 8px 14px;
  font-size: 14px;
}

.adminSupplierPaymentAccountActions .btnDanger {
  background: color-mix(in srgb, var(--danger), white 10%);
}

.adminSupplierPaymentAccountActions .btnAction {
  background: color-mix(in srgb, var(--focus), white 12%);
}

.adminSupplierFinancePrefillCard {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: var(--radius);
  background: #fff;
  gap: 14px;
  padding: 16px 18px;
  display: grid;
  box-shadow: 0 1px #1014180a;
}

.adminSupplierFinancePrefillHeader {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: start;
  gap: 12px;
  display: flex;
}

.adminSupplierFinancePrefillTitleBlock {
  gap: 4px;
  display: grid;
}

.adminSupplierFinancePrefillTitle {
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
}

.adminSupplierFinancePrefillHint {
  max-width: 72ch;
  margin: 0;
}

.adminSupplierFinancePrefillList {
  gap: 10px;
  display: grid;
}

.adminSupplierFinancePrefillTableWrap {
  border-radius: calc(var(--radius) + 2px);
}

.adminSupplierFinancePrefillTable {
  min-width: 760px;
}

.adminSupplierFinancePrefillTable thead th {
  background: color-mix(in srgb, var(--focus), white 88%);
  color: color-mix(in srgb, var(--text), black 8%);
  font-size: 14px;
}

.adminSupplierFinancePrefillTable th:first-child, .adminSupplierFinancePrefillTable td:first-child {
  width: 20%;
}

.adminSupplierFinancePrefillTable th:nth-child(2), .adminSupplierFinancePrefillTable td:nth-child(2), .adminSupplierFinancePrefillTable th:nth-child(3), .adminSupplierFinancePrefillTable td:nth-child(3) {
  width: 31%;
}

.adminSupplierFinancePrefillTable th:nth-child(4), .adminSupplierFinancePrefillTable td:nth-child(4) {
  text-align: right;
  width: 18%;
}

.adminSupplierFinancePrefillTable th:nth-child(3), .adminSupplierFinancePrefillTable td:nth-child(3) {
  text-align: left;
}

.adminSupplierFinancePrefillActionCell {
  white-space: nowrap;
}

@media (max-width: 820px) {
  .adminSupplierPaymentAccountRow {
    grid-template-columns: 1fr;
  }

  .adminSupplierPaymentAccountActions {
    justify-content: flex-start;
    justify-self: start;
  }

  .adminSupplierPaymentAccountAddBtn {
    justify-content: center;
    width: 100%;
  }
}

.adminSupplierPaymentAccountDialogCard {
  width: min(720px, 100%);
}

.adminSupplierPaymentAccountDialogBody {
  gap: 14px;
}

.adminSupplierPaymentAccountEditor {
  gap: 12px;
  display: grid;
}

.adminSupplierPaymentAccountCheckbox {
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminVehicleHistorySection {
  border-top: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 6%);
  gap: 10px;
  margin-top: 12px;
  padding-top: 8px;
  display: grid;
}

.adminVehicleHistoryHeader {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: start;
  gap: 12px;
  display: flex;
}

.adminVehicleHistoryTitleBlock {
  gap: 0;
  display: grid;
}

.adminVehicleHistoryTitle {
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
}

.adminVehicleHistoryAddBtn {
  min-height: 40px;
  padding-inline: 18px;
  font-size: 14px;
}

.adminVehicleHistoryList {
  gap: 10px;
  display: grid;
}

.adminVehicleHistoryRow {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 6%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--surface), var(--paper) 18%);
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 14px 18px;
  padding: 16px 18px;
  display: grid;
  box-shadow: 0 1px #1014180a;
}

.adminVehicleHistoryMain {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.adminVehicleHistoryTopline {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  display: flex;
}

.adminVehicleHistoryPrimaryValue {
  font-size: 17px;
  line-height: 1.15;
}

.adminVehicleHistoryMetric {
  color: var(--fg);
  font-size: 15px;
  line-height: 1.2;
}

.adminVehicleHistoryBadge {
  letter-spacing: .03em;
  text-transform: uppercase;
  align-self: center;
  min-height: 0;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
}

.adminVehicleHistoryMeta {
  color: var(--muted);
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  font-size: 15px;
  line-height: 1.3;
  display: flex;
}

.adminVehicleHistoryMetaPrimary {
  color: var(--fg);
  font-weight: 500;
}

.adminVehicleHistoryMetaSecondary {
  color: var(--muted);
}

.adminVehicleHistoryActions {
  flex-wrap: wrap;
  justify-content: flex-end;
  place-self: start end;
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.adminVehicleHistoryActionBtn {
  min-height: 36px;
  box-shadow: none;
  padding: 8px 14px;
  font-size: 14px;
}

.adminVehicleHistoryActions .btnDanger {
  background: color-mix(in srgb, var(--danger), white 10%);
}

.adminVehicleHistoryDialogCard {
  width: min(720px, 100%);
}

.adminVehicleHistoryDialogBody {
  gap: 14px;
}

.adminVehicleHistoryEditor {
  gap: 12px;
  display: grid;
}

@media (max-width: 820px) {
  .adminVehicleHistoryRow {
    grid-template-columns: 1fr;
  }

  .adminVehicleHistoryActions {
    justify-content: flex-start;
    justify-self: start;
  }

  .adminVehicleHistoryAddBtn {
    justify-content: center;
    width: 100%;
  }
}

.adminPillFit {
  width: fit-content;
}

.adminFinanceInboxPage .pill.adminPillFit, .adminFinanceRegistryBody .pill.adminPillFit, .adminFinanceReviewPage .pill.adminPillFit, .adminFinanceReviewExperience .pill.adminPillFit, .adminFinanceDiagnosticsPanel .pill.adminPillFit, .adminFinanceDiagnosticsStagePanel .pill.adminPillFit, .adminFinanceMailboxDatasetPage .pill.adminPillFit, .adminFinanceCostControlSection .pill.adminPillFit, .adminFinanceCostControlSummaryFrame .pill.adminPillFit, .adminFinanceCostControlDiscrepancyHead .pill {
  white-space: nowrap;
  border-radius: 8px;
  min-height: 28px;
  padding: 0 10px;
  font-size: 12px;
  line-height: 1.1;
}

.adminDialogBackdrop {
  background: color-mix(in srgb, var(--fg), transparent 84%);
  z-index: 110;
  place-items: center;
  padding: 20px;
  display: grid;
  position: fixed;
  inset: 0;
}

.adminDialogCard {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 6%);
  width: min(560px, 100%);
  box-shadow: 0 16px 40px color-mix(in srgb, var(--fg), transparent 82%);
}

.adminUnsavedChangesDialogBackdrop {
  z-index: 2200;
  background: color-mix(in srgb, var(--fg), transparent 62%);
  place-items: center;
  padding: 18px;
  display: grid;
  position: fixed;
  inset: 0;
}

.adminUnsavedChangesDialogCard {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 8%);
  width: min(440px, 100%);
  box-shadow: 0 18px 48px color-mix(in srgb, var(--fg), transparent 78%);
}

.adminUnsavedChangesDialogBody {
  gap: 12px;
  display: grid;
}

.adminUnsavedChangesDialogTitle {
  margin: 0;
  font-size: 20px;
  line-height: 1.2;
}

.adminUnsavedChangesDialogMessage {
  color: var(--muted);
  margin: 0;
  line-height: 1.45;
}

.adminUnsavedChangesDialogActions {
  justify-content: flex-end;
  gap: 10px;
  margin-top: 6px;
  display: flex;
}

.adminTicketsPaymentExportDialogCard {
  width: min(960px, 100%);
}

.adminUsersResetDialogCard {
  width: min(480px, 100%);
}

.adminUsersSupportDialogCard {
  width: min(560px, 100%);
}

.adminUsersSupportTokenField {
  gap: 8px;
}

.adminUsersSupportTokenShell {
  min-width: 0;
  display: grid;
  position: relative;
}

.adminUsersSupportCopyButton {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--focus) 20%);
  background: color-mix(in srgb, var(--bg), white 72%);
  width: 44px;
  height: 44px;
  color: color-mix(in srgb, var(--fg), var(--muted) 26%);
  box-shadow: 0 1px 2px color-mix(in srgb, var(--fg), transparent 92%);
  cursor: pointer;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  padding: 0;
  transition: background-color .16s, border-color .16s, color .16s, box-shadow .16s;
  display: inline-flex;
  position: absolute;
  top: 10px;
  right: 10px;
}

.adminUsersSupportCopyButton:hover {
  border-color: color-mix(in srgb, var(--focus), var(--stroke) 34%);
  background: color-mix(in srgb, var(--focus), white 93%);
  color: var(--fg);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--focus), transparent 86%);
}

.adminUsersSupportCopyButton:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
}

.adminUsersSupportToken {
  resize: vertical;
  overflow-wrap: anywhere;
  min-height: 84px;
  padding-right: 66px;
}

.adminUsersSupportActions .btnAction {
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.adminDialogBody {
  gap: 10px;
  display: grid;
}

.adminFinanceInboxDialogDocument {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg-2), white 42%);
  gap: 4px;
  min-width: 0;
  padding: 10px 12px;
  display: grid;
}

.adminFinanceInboxDialogFilename, .adminFinanceInboxDialogMeta {
  min-width: 0;
  margin: 0;
}

.adminFinanceInboxDialogFilename {
  overflow-wrap: anywhere;
  word-break: break-word;
  font-size: 13px;
  line-height: 1.35;
}

.adminFinanceInboxDialogMeta {
  font-size: 12px;
  line-height: 1.3;
}

.adminTicketsPaymentExportDialogBody {
  gap: 14px;
}

.adminTicketsPaymentExportHeader {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.adminTicketsPaymentExportCloseBtn {
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  padding: 0;
  font-size: 30px;
  line-height: 1;
  display: inline-flex;
}

.adminTicketsPaymentExportSummaryStrip {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 8%);
  border-radius: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
  overflow: hidden;
}

.adminTicketsPaymentExportSummaryItem {
  background: color-mix(in srgb, var(--bg-2), white 12%);
  gap: 4px;
  padding: 12px 18px;
  display: grid;
}

.adminTicketsPaymentExportSummaryItem + .adminTicketsPaymentExportSummaryItem {
  border-left: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 8%);
}

.adminTicketsPaymentExportSummaryItem strong {
  font-size: 17px;
  line-height: 1.1;
}

.adminTicketsPaymentExportControls {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 8%);
  grid-template-columns: minmax(0, 220px) minmax(0, 220px) minmax(0, 1fr);
  align-items: end;
  gap: 16px 20px;
  padding-bottom: 14px;
  display: grid;
}

.adminTicketsPaymentExportActionCluster {
  grid-auto-columns: max-content;
  grid-auto-flow: column;
  justify-content: end;
  place-self: end;
  gap: 12px;
  width: 100%;
  display: grid;
}

.adminTicketsPaymentExportUsers {
  scrollbar-width: none;
  -ms-overflow-style: none;
  gap: 8px;
  max-height: min(46vh, 520px);
  padding-top: 4px;
  padding-right: 2px;
  display: grid;
  overflow: auto;
}

.adminTicketsPaymentExportUsers::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.adminTicketsPaymentExportWorkerDetails {
  border-bottom: 0;
}

.adminTicketsPaymentExportWorkerSummary {
  cursor: pointer;
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  min-height: 56px;
  padding: 8px 10px;
  list-style: none;
  transition: background-color .14s;
  display: flex;
}

.adminTicketsPaymentExportWorkerSummary::-webkit-details-marker {
  display: none;
}

.adminTicketsPaymentExportWorkerSummary:hover {
  background: color-mix(in srgb, var(--focus), white 95%);
}

.adminTicketsPaymentExportWorkerSummary:focus-visible {
  background: color-mix(in srgb, var(--focus), white 94%);
  outline: none;
}

.adminTicketsPaymentExportWorkerIdentity {
  align-items: baseline;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.adminTicketsPaymentExportWorkerChevron {
  width: 20px;
  color: var(--muted);
  justify-content: center;
  align-items: center;
  margin-top: 0;
  font-size: 24px;
  line-height: 1;
  transition: transform .14s;
  display: inline-flex;
  transform: rotate(0);
}

.adminTicketsPaymentExportWorkerDetails[open] .adminTicketsPaymentExportWorkerChevron {
  transform: rotate(90deg);
}

.adminTicketsPaymentExportWorkerText {
  gap: 1px;
  min-width: 0;
  display: grid;
}

.adminTicketsPaymentExportWorkerText .mono {
  font-size: 13px;
}

.adminTicketsPaymentExportWorkerTotals {
  justify-items: end;
  gap: 1px;
  display: grid;
}

.adminTicketsPaymentExportWorkerTotals strong {
  font-size: 17px;
  line-height: 1.1;
}

.adminTicketsPaymentExportWorkerTotals .muted {
  font-size: 13px;
}

.adminTicketsPaymentExportMonthList {
  gap: 0;
  padding: 2px 10px 10px 38px;
  display: grid;
}

.adminTicketsPaymentExportMonthRow {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 20%);
  grid-template-columns: minmax(0, 1fr) 120px 160px;
  align-items: center;
  gap: 8px;
  padding: 10px 0;
  display: grid;
}

.adminTicketsPaymentExportMonthRow > :nth-child(2), .adminTicketsPaymentExportMonthRow > :nth-child(3) {
  justify-self: end;
}

.adminTicketsPaymentExportDownloadBtn, .adminTicketsPaymentExportMarkBtn {
  min-width: 0;
  min-height: 48px;
  padding-left: 28px;
  padding-right: 28px;
}

.adminTicketsPaymentExportMarkBtn:disabled {
  background: color-mix(in srgb, var(--ok), white 70%);
  border-color: color-mix(in srgb, var(--ok), var(--fg) 12%);
  color: color-mix(in srgb, var(--fg), white 20%);
}

.adminUsersResetTitle {
  flex-wrap: wrap;
  align-items: baseline;
  gap: .25ch;
  display: flex;
}

.adminUsersResetTitleText {
  font-weight: 600;
}

.adminUsersResetTitleName {
  color: var(--focus);
  font-weight: 800;
}

.adminUsersPasswordInputRow {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px;
  display: grid;
}

.adminUsersPasswordInputRow .btn {
  align-self: start;
}

.adminUsersResetCheckboxField {
  gap: 4px;
}

.adminUsersResetPolicyList {
  gap: 2px;
  margin: 0;
  padding-left: 18px;
  font-size: 12px;
  display: grid;
}

.adminUsersResetCheckboxHint {
  margin-left: 29px;
}

.adminUsersResetResultRow {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  display: grid;
}

.adminUsersResetResultStatus {
  align-items: center;
  min-height: 36px;
  display: flex;
}

.adminUsersResetResultMessage {
  margin: 0;
}

.adminUsersResetResultActions {
  justify-content: flex-end;
  display: flex;
}

@media (max-width: 640px) {
  .adminUsersResetResultRow {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminUsersResetResultActions {
    justify-content: flex-start;
  }

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

  .adminTicketsPaymentExportSummaryItem + .adminTicketsPaymentExportSummaryItem {
    border-left: 0;
    border-top: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 8%);
  }

  .adminTicketsPaymentExportActionCluster {
    grid-template-columns: minmax(0, 1fr);
    grid-auto-flow: row;
    justify-content: stretch;
    justify-self: stretch;
    width: auto;
  }

  .adminTicketsPaymentExportWorkerSummary {
    flex-direction: column;
    align-items: flex-start;
  }

  .adminTicketsPaymentExportWorkerTotals {
    justify-items: start;
    padding-left: 28px;
  }

  .adminTicketsPaymentExportMonthList {
    padding-left: 28px;
  }

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

.adminDeleteUserDialogList {
  gap: 4px;
  margin: 0;
  padding-left: 18px;
  display: grid;
}

.adminFilterBody {
  gap: 10px;
  display: grid;
}

.adminHistoryFilterTop {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: start;
  gap: 10px;
  display: flex;
}

.adminBackupsToolbarBody .adminFilterActions {
  justify-content: flex-end;
}

.adminBackupsStatusPill {
  border-color: color-mix(in srgb, var(--stroke), var(--fg) 18%);
}

.adminBackupsStatusPillsuccess {
  background: color-mix(in srgb, var(--success), white 86%);
  border-color: color-mix(in srgb, var(--success), transparent 25%);
}

.adminBackupsStatusPillpartial {
  background: color-mix(in srgb, var(--warning), white 84%);
  border-color: color-mix(in srgb, var(--warning), transparent 30%);
}

.adminBackupsStatusPillfailed, .adminBackupsStatusPillerror {
  background: color-mix(in srgb, var(--danger), white 86%);
  border-color: color-mix(in srgb, var(--danger), transparent 34%);
}

.adminGdprStatusPill {
  border-color: color-mix(in srgb, var(--stroke), var(--fg) 16%);
}

.adminGdprStatusPillopen {
  background: color-mix(in srgb, var(--focus), white 92%);
  border-color: color-mix(in srgb, var(--focus), transparent 34%);
}

.adminGdprStatusPillin_progress {
  background: color-mix(in srgb, var(--warning), white 86%);
  border-color: color-mix(in srgb, var(--warning), transparent 34%);
}

.adminGdprStatusPillcompleted {
  background: color-mix(in srgb, var(--success), white 87%);
  border-color: color-mix(in srgb, var(--success), transparent 34%);
}

.adminGdprStatusPillrejected {
  background: color-mix(in srgb, var(--danger), white 87%);
  border-color: color-mix(in srgb, var(--danger), transparent 34%);
}

.adminGdprQueueSurface {
  min-width: 0;
}

.adminGdprCreateCard, .adminGdprQueueSection {
  width: 100%;
}

.adminGdprCreateGrid {
  grid-template-columns: minmax(170px, .7fr) minmax(220px, 1fr) minmax(240px, 1.05fr) minmax(240px, 1.05fr);
}

.adminGdprCreateGrid > .field:nth-child(3), .adminGdprCreateGrid > .field:nth-child(4), .adminGdprCreateGrid > .field:nth-child(5) {
  grid-column: span 2;
}

.adminGdprDateTimeField {
  border: 0;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.adminGdprDateTimeInputs {
  grid-template-columns: minmax(150px, 1fr) minmax(96px, .55fr);
  gap: 8px;
  min-width: 0;
  display: grid;
}

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

.adminGdprDateInput, .adminGdprTimeInput {
  font-family: var(--font-sans);
  letter-spacing: 0;
}

.adminGdprQueueSection {
  gap: 12px;
  display: grid;
}

.adminGdprQueueSection .adminListFilterStack, .adminGdprQueueSection .adminListFilterCard, .adminGdprQueueSection .adminListFilterFrame, .adminGdprQueueSection .adminListFilterShell, .adminGdprQueueSection .adminListFilterPinnedGrid {
  width: 100%;
}

.adminGdprQueueSection .adminListFilterPinnedGrid.adminListFilterGridVariantQueue, .adminGdprQueueSection .adminListFilterPinnedGrid.adminListFilterGridVariantQueue.adminListFilterPinnedCount2:not(.isExpanded) {
  grid-template-columns: minmax(280px, 1fr) minmax(160px, .34fr);
}

.adminGdprQueueSection .adminListFilterActionButton {
  width: 100%;
}

@media (max-width: 1200px) {
  .adminFilterGrid.adminGdprCreateGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .adminFilterGrid.adminGdprCreateGrid > .field:nth-child(3) {
    grid-column: 1 / -1;
  }

  .adminFilterGrid.adminGdprCreateGrid > .field:nth-child(4), .adminFilterGrid.adminGdprCreateGrid > .field:nth-child(5) {
    grid-column: auto;
  }

  .adminGdprQueueSection .adminListFilterPinnedGrid.adminListFilterGridVariantQueue, .adminGdprQueueSection .adminListFilterPinnedGrid.adminListFilterGridVariantQueue.adminListFilterPinnedCount2:not(.isExpanded) {
    grid-template-columns: minmax(0, 1fr) minmax(160px, .42fr);
  }
}

@media (max-width: 760px) {
  .adminFilterGrid.adminGdprCreateGrid {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminFilterGrid.adminGdprCreateGrid > .field:nth-child(3) {
    grid-column: auto;
  }

  .adminGdprDateTimeInputs {
    grid-template-columns: minmax(0, 1fr) minmax(112px, .45fr);
  }
}

@media (max-width: 520px) {
  .adminGdprDateTimeInputs {
    grid-template-columns: minmax(0, 1fr);
  }
}

.adminGdprQueueHeader {
  gap: 3px;
  display: grid;
}

.adminGdprQueueHeader .adminSettingsChecklistTitle, .adminGdprQueueHeader .adminSettingsFieldHint {
  margin: 0;
}

.adminGdprQueueTable {
  min-width: 980px;
}

.adminGdprQueueTable th:nth-child(2), .adminGdprQueueTable td:nth-child(2) {
  min-width: 240px;
}

.adminGdprQueueTable th:nth-child(6), .adminGdprQueueTable td:nth-child(6) {
  min-width: 260px;
}

.adminGdprRequesterCell {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.adminGdprRequesterCell strong {
  color: color-mix(in srgb, var(--fg), black 8%);
  font-weight: 800;
}

.adminGdprRequestNote, .adminGdprResolutionNote {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.adminGdprRequestNote {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 34rem;
  overflow: hidden;
}

.adminGdprActionsCell {
  vertical-align: top !important;
}

.adminGdprRowActions {
  justify-content: flex-end;
  align-items: center;
  gap: 6px;
}

.adminGdprRowAction {
  white-space: nowrap;
  border-radius: 8px;
  min-height: 34px;
  font-size: 12px;
  font-weight: 800;
  padding: 6px 10px !important;
}

.adminGdprResolutionNote {
  text-align: right;
  margin-top: 6px;
}

.adminGdprQueueState {
  margin: 0;
  padding: 18px;
}

.adminFilterForm {
  gap: 10px;
  display: grid;
}

.adminFilterGrid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  align-items: end;
  gap: 10px;
  display: grid;
}

.adminFilterActions {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  display: flex;
}

.adminBulkActionBody {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.adminListInlineBulkActionBody {
  border-bottom: 1px solid var(--stroke);
  margin-bottom: 12px;
  padding-top: 4px;
  padding-bottom: 16px;
}

.adminCountPill.adminBulkInlineCount {
  border-color: color-mix(in srgb, var(--stroke), black 10%);
  background: color-mix(in srgb, var(--bg-2), var(--bg) 18%);
  min-width: 0;
  min-height: 32px;
  color: color-mix(in srgb, var(--fg), black 4%);
  border-radius: 8px;
  padding: 0 13px;
}

.adminBulkInlineCountValue {
  color: color-mix(in srgb, var(--fg), black 4%);
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
}

.adminBulkInlineBtn {
  min-height: 32px;
}

.adminBulkInlineBtnDanger {
  color: color-mix(in srgb, var(--danger), black 10%);
  background: color-mix(in srgb, var(--danger), white 94%);
  border-color: color-mix(in srgb, var(--danger), transparent 40%);
}

.adminBulkInlineBtnDanger:hover:not(:disabled) {
  color: color-mix(in srgb, var(--danger), black 16%);
  background: color-mix(in srgb, var(--danger), white 91%);
  border-color: color-mix(in srgb, var(--danger), transparent 28%);
}

.adminBulkActions {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.adminBulkInlineHint {
  color: var(--muted);
  flex: 1 0 100%;
  margin: 0;
  font-size: 12px;
  line-height: 1.3;
}

.adminBulkCheckbox {
  align-items: center;
  margin-right: 2px;
  display: inline-flex;
}

.adminPagination {
  justify-content: center;
  align-items: center;
  gap: 6px;
  width: 100%;
  display: flex;
}

.adminPaginationNav {
  justify-content: center;
  align-items: center;
  gap: 6px;
  width: auto;
  display: flex;
}

.adminPaginationNumbers {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  display: flex;
}

.adminPaginationBtn {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--bg) 8%);
  min-width: 32px;
  height: 32px;
  color: color-mix(in srgb, var(--fg), black 6%);
  font-family: var(--font-sans);
  cursor: pointer;
  background: #fff;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  padding: 0 8px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  transition: background-color .14s, border-color .14s, color .14s, box-shadow .14s;
  display: inline-flex;
}

.adminPaginationBtn:hover:not(:disabled) {
  background: color-mix(in srgb, var(--focus), white 96%);
  border-color: color-mix(in srgb, var(--focus), transparent 68%);
}

.adminPaginationBtn:focus-visible {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--focus), white 72%);
  outline: none;
}

.adminPaginationBtn:disabled {
  cursor: not-allowed;
  color: color-mix(in srgb, var(--muted), black 8%);
  border-color: color-mix(in srgb, var(--stroke), transparent 18%);
  background: color-mix(in srgb, #fff, var(--bg) 12%);
}

.adminPaginationArrow {
  letter-spacing: -.2px;
  min-width: 32px;
  color: color-mix(in srgb, var(--fg), black 10%);
  background: none;
  border-color: #0000;
  padding-bottom: 0;
  font-size: 18px;
  font-weight: 400;
}

.adminPaginationArrow:hover:not(:disabled) {
  background: color-mix(in srgb, var(--focus), white 95%);
  border-color: #0000;
}

.adminPaginationArrow:disabled {
  background: none;
  border-color: #0000;
}

.adminPaginationNumber {
  font-size: 16px;
}

.adminPaginationBtnPlain {
  color: color-mix(in srgb, var(--fg), black 10%);
  background: none;
  border-color: #0000;
  min-width: 26px;
  padding: 0 6px;
}

.adminPaginationBtnPlain:hover:not(:disabled) {
  background: color-mix(in srgb, var(--focus), white 95%);
  border-color: #0000;
}

.adminPaginationBtnCurrent {
  border-color: color-mix(in srgb, var(--focus), transparent 44%);
  background: color-mix(in srgb, var(--focus), white 91%);
  color: color-mix(in srgb, var(--focus), black 14%);
  font-weight: 600;
}

.adminPaginationEllipsis {
  min-width: 14px;
  color: var(--muted);
  justify-content: center;
  align-items: center;
  font-size: 16px;
  line-height: 1;
  display: inline-flex;
}

.pillStatusDraft {
  border-color: var(--stroke);
  color: var(--muted);
  background: color-mix(in srgb, var(--bg-2), var(--bg) 18%);
}

.pillStatusAttached {
  border-color: color-mix(in srgb, var(--accent), transparent 55%);
  color: color-mix(in srgb, var(--accent), black 8%);
  background: color-mix(in srgb, var(--accent), white 92%);
}

.pillStatusSubmitted, .pillStatusPending {
  border-color: color-mix(in srgb, var(--focus), transparent 50%);
  color: var(--fg);
  background: color-mix(in srgb, var(--focus), white 92%);
}

.pillStatusReviewing {
  border-color: color-mix(in srgb, var(--warning), transparent 42%);
  color: color-mix(in srgb, var(--warning), black 28%);
  background: color-mix(in srgb, var(--warning), white 94%);
}

.pillStatusReviewed {
  color: #6b32cc;
  background: #f7f3fe;
  border-color: #7c3aed7a;
}

.pillStatusApproved {
  border-color: color-mix(in srgb, var(--ok), transparent 55%);
  color: var(--fg);
  background: color-mix(in srgb, var(--ok), white 94%);
}

.pillStatusRejected {
  border-color: color-mix(in srgb, var(--danger), transparent 48%);
  color: var(--fg);
  background: color-mix(in srgb, var(--danger), white 92%);
}

.pillStatusCancelled {
  border-color: color-mix(in srgb, var(--muted), transparent 58%);
  color: color-mix(in srgb, var(--fg), white 24%);
  background: color-mix(in srgb, var(--muted), white 86%);
}

.pillStatusLocked {
  border-color: color-mix(in srgb, var(--fg), transparent 75%);
  color: color-mix(in srgb, var(--fg), white 30%);
  background: color-mix(in srgb, var(--fg), white 88%);
}

.adminReportsFilterCardBody, .adminFiltersCardBody {
  gap: 12px;
  container: admin-filter-card / inline-size;
}

.adminReportsFilterForm, .adminFilterBarForm, .adminOperationsApprovalsFilterForm {
  display: block;
}

.adminOperationsReviewFilterActionLabel {
  visibility: hidden;
  -webkit-user-select: none;
  user-select: none;
  display: block;
}

.adminOperationsFilterLabelShort, .adminOperationsFilterLayoutNarrow .adminOperationsFilterFieldPerPage .adminOperationsFilterLabelLong, .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldPerPage .adminOperationsFilterLabelLong {
  display: none;
}

.adminOperationsFilterLayoutNarrow .adminOperationsFilterFieldPerPage .adminOperationsFilterLabelShort, .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldPerPage .adminOperationsFilterLabelShort {
  display: inline;
}

.adminOperationsFilterLayouts, .adminFilterLayouts {
  min-width: 0;
}

.adminOperationsFilterLayout, .adminFilterLayout, .adminOperationsFilterLayoutStacked, .adminFilterLayoutStacked {
  min-width: 0;
  display: none;
}

.adminOperationsFilterRow {
  align-items: end;
  gap: 12px;
  min-width: 0;
  display: grid;
}

.adminOperationsFilterRow + .adminOperationsFilterRow {
  margin-top: 10px;
}

.adminOperationsFilterRow > .field, .adminOperationsFilterRow > .adminOperationsFilterEndCluster {
  min-width: 0;
  margin-top: 0;
}

.adminReportsFilterField {
  margin-top: 0;
}

.adminOperationsFilterFieldSearch, .adminOperationsFilterFieldSite, .adminOperationsFilterFieldUser, .adminOperationsFilterFieldStatus, .adminOperationsFilterFieldType {
  min-width: 0;
}

.adminOperationsFilterFieldStatus {
  min-width: 11.5rem;
}

.adminOperationsFilterFieldType {
  min-width: 10.5rem;
}

.adminOperationsFilterFieldFrom, .adminOperationsFilterFieldTo {
  min-width: 156px;
}

.adminOperationsFilterFieldPerPage {
  width: 150px;
  min-width: 150px;
}

.adminOperationsFilterClearField {
  width: 108px;
  min-width: 108px;
}

.adminOperationsFilterEndCluster {
  grid-template-columns: 150px 108px;
  justify-content: end;
  justify-self: end;
  align-items: end;
  gap: 10px;
  width: min(100%, 268px);
  min-width: 0;
  max-width: 268px;
  display: grid;
}

.adminOperationsFilterEndClusterWithExport {
  grid-template-columns: 150px 108px 176px;
  width: min(100%, 454px);
  max-width: 454px;
}

.adminOperationsFilterEndCluster .field {
  min-width: 0;
  margin-top: 0;
}

.adminOperationsFilterRowRight {
  justify-content: end;
}

.adminOperationsFilterRowRight .adminOperationsFilterEndCluster {
  justify-self: end;
}

.adminOperationsFilterClearField .btn {
  width: 100%;
  min-width: 0;
  padding-inline: 12px;
}

.adminOperationsFilterExportField {
  width: 176px;
  min-width: 176px;
}

.adminOperationsFilterExportField .btn {
  width: 100%;
  min-width: 0;
}

.adminOperationsFilterFieldExport {
  width: 288px;
  min-width: 288px;
}

.adminOperationsExportMonthControl {
  grid-template-columns: minmax(0, 124px) minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  display: grid;
}

.adminOperationsExportMonthInput {
  min-width: 0;
}

.adminOperationsExportBtn {
  white-space: nowrap;
  justify-content: center;
  align-items: center;
  gap: 7px;
  width: 100%;
  min-width: 0;
  display: inline-flex;
}

.adminOperationsExportError {
  margin-top: 6px;
  font-size: .78rem;
  line-height: 1.25;
  display: block;
}

.adminOperationsTimesheetsHeaderSlot, .adminOperationsReportsHeaderSlot, .adminOperationsTicketsHeaderSlot, .adminOperationsDayOffHeaderSlot {
  justify-content: flex-end;
  align-items: center;
  min-height: 44px;
  display: flex;
}

:is(.adminHeaderBody:has(.adminOperationsTimesheetsHeaderSlot), .adminHeaderBody:has(.adminOperationsReportsHeaderSlot), .adminHeaderBody:has(.adminOperationsTicketsHeaderSlot), .adminHeaderBody:has(.adminOperationsDayOffHeaderSlot)) {
  z-index: 120;
  align-items: flex-start;
  position: relative;
}

.adminOperationsReportsHeaderCreateButton, .adminOperationsTicketsHeaderCreateButton, .adminOperationsDayOffHeaderGrantButton {
  min-width: 128px;
  min-height: 44px;
  padding-inline: 18px;
}

.adminOperationsReportsHeaderActions {
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.adminOperationsTimesheetExportHeaderAction {
  justify-content: flex-end;
  min-width: 0;
  display: inline-flex;
}

.adminOperationsTimesheetExportTrigger {
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-width: 128px;
  min-height: 44px;
  padding-inline: 18px;
  display: inline-flex;
}

.adminOperationsTimesheetExportDialogBackdrop {
  z-index: 2200;
  padding-top: max(72px, env(safe-area-inset-top, 0px) + 24px);
  background: color-mix(in srgb, var(--fg), transparent 74%);
  align-items: flex-start;
}

.adminOperationsTimesheetExportDialogCard {
  width: min(430px, 100vw - 32px);
  max-height: calc(100dvh - 48px);
  overflow: visible;
}

.adminOperationsTimesheetExportDialogBody {
  gap: 14px;
}

.adminOperationsTimesheetExportDialogHeader {
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  display: flex;
}

.adminOperationsTimesheetExportDialogTitle {
  margin: 0;
  font-size: 1.04rem;
  line-height: 1.2;
}

.adminOperationsTimesheetExportDialogHint {
  margin: 5px 0 0;
  font-size: .84rem;
  line-height: 1.35;
}

.adminOperationsTimesheetExportDialogClose {
  width: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  font-size: 1.2rem;
  line-height: 1;
}

.adminOperationsTimesheetExportDialogCard .adminOperationsFilterFieldExport {
  width: 100%;
  min-width: 0;
}

.adminOperationsTimesheetExportDialogCard .adminOperationsExportMonthControl {
  grid-template-columns: minmax(0, 1fr) minmax(0, 132px);
}

.adminOperationsTimesheetExportProjectionField {
  gap: 4px;
  margin-top: 10px;
  display: grid;
}

.adminOperationsTimesheetExportProjectionHint {
  font-size: .78rem;
  line-height: 1.3;
}

.adminOperationsTimesheetExportDialogCard .listboxMenu, .adminTimesheetDocumentDialogCard .listboxMenu {
  z-index: 70;
}

.adminOperationsTicketExportDialogCard {
  width: min(760px, 100vw - 32px);
}

.adminOperationsTicketExportStack {
  gap: 12px;
  display: grid;
}

.adminOperationsTicketExportPanel, .adminOperationsTicketExportPaymentPanel {
  gap: 12px;
  min-width: 0;
  display: grid;
}

.adminOperationsTicketExportPanel {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg-2), white 38%);
  padding: 12px;
}

.adminOperationsTicketExportPaymentPanel {
  padding-top: 2px;
}

.adminOperationsTicketExportPanelHeader, .adminOperationsTicketExportActions {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
  display: flex;
}

.adminOperationsTicketExportPanelHeader > div {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminOperationsTicketExportPanelHeader .btn, .adminOperationsTicketExportActions .btn {
  min-height: 40px;
}

.adminOperationsTicketExportFilterGrid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
  min-width: 0;
  display: grid;
}

.adminOperationsTicketExportField {
  min-width: 0;
}

.adminOperationsTicketExportActions {
  align-items: center;
}

.adminOperationsTicketExportAction, .adminOperationsTicketExportPaymentAction {
  justify-content: center;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  display: inline-flex;
}

.adminOperationsTicketExportAction {
  min-width: 188px;
}

.adminOperationsTicketExportPaymentAction {
  width: fit-content;
  min-width: 188px;
}

@media (max-width: 760px) {
  .adminOperationsTimesheetsHeaderSlot, .adminOperationsReportsHeaderSlot, .adminOperationsTicketsHeaderSlot, .adminOperationsDayOffHeaderSlot {
    justify-content: flex-start;
    width: 100%;
  }

  .adminOperationsTimesheetExportHeaderAction, .adminOperationsTimesheetExportTrigger, .adminOperationsReportsHeaderActions, .adminOperationsReportsHeaderCreateButton, .adminOperationsTicketsHeaderCreateButton, .adminOperationsDayOffHeaderGrantButton {
    width: 100%;
  }

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

  .adminOperationsTimesheetExportDialogBackdrop {
    padding: 16px;
    padding-bottom: max(16px, env(safe-area-inset-bottom, 0px) + 16px);
    padding-top: max(16px, env(safe-area-inset-top, 0px) + 16px);
    align-items: end;
  }

  .adminOperationsTimesheetExportDialogCard {
    width: 100%;
    max-height: min(640px, 100dvh - 32px);
  }

  .adminOperationsTimesheetExportDialogCard .adminOperationsExportMonthControl, .adminOperationsTicketExportFilterGrid {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminOperationsTicketExportPanelHeader, .adminOperationsTicketExportActions {
    flex-direction: column;
    align-items: stretch;
  }

  .adminOperationsTicketExportAction, .adminOperationsTicketExportPaymentAction {
    width: 100%;
  }
}

@container admin-filter-card (max-width: 1200px) {
  .adminOperationsFilterEndCluster {
    grid-template-columns: 132px 104px;
    width: min(100%, 246px);
    min-width: 0;
    max-width: 246px;
  }

  .adminOperationsFilterFieldPerPage {
    width: 132px;
    min-width: 132px;
  }

  .adminOperationsFilterClearField {
    width: 104px;
    min-width: 104px;
  }

  .adminOperationsFilterEndClusterWithExport {
    grid-template-columns: 132px 104px 164px;
    width: min(100%, 416px);
    max-width: 416px;
  }

  .adminOperationsFilterExportField {
    width: 164px;
    min-width: 164px;
  }

  .adminOperationsFilterFieldExport {
    width: 276px;
    min-width: 276px;
  }

  .adminOperationsExportMonthControl {
    grid-template-columns: minmax(0, 118px) minmax(0, 1fr);
  }
}

.adminOperationsFilterLayoutsApprovals .adminOperationsFilterLayoutWide .adminOperationsFilterRow {
  grid-template-columns: minmax(18rem, 1.55fr) minmax(14rem, 1.05fr) minmax(14rem, 1.05fr) fit-content(11rem) minmax(10rem, .85fr) minmax(10rem, .85fr) fit-content(10rem) max-content;
}

.adminOperationsFilterLayoutsApprovals .adminOperationsFilterLayoutMedium .adminOperationsFilterRow:first-child {
  grid-template-columns: minmax(16rem, 1.6fr) minmax(11.5rem, 1fr) minmax(12rem, 1.05fr) minmax(11.5rem, .9fr);
}

.adminOperationsFilterLayoutsApprovals .adminOperationsFilterLayoutMedium .adminOperationsFilterRow:last-child {
  grid-template-columns: minmax(9.75rem, 1fr) minmax(9.75rem, 1fr) minmax(10.5rem, .95fr) fit-content(268px);
}

.adminOperationsFilterLayoutsApprovals .adminOperationsFilterLayoutNarrow .adminOperationsFilterRow:first-child {
  grid-template-columns: minmax(16rem, 2fr) minmax(10.5rem, 1fr);
}

.adminOperationsFilterLayoutsApprovals .adminOperationsFilterLayoutNarrow .adminOperationsFilterRow:nth-child(2) {
  grid-template-columns: minmax(13rem, 1.15fr) minmax(12rem, .95fr) minmax(9.5rem, .9fr);
}

.adminOperationsFilterLayoutsApprovals .adminOperationsFilterLayoutNarrow .adminOperationsFilterRow:last-child {
  grid-template-columns: minmax(8.5rem, 1fr) minmax(8.5rem, 1fr) fit-content(268px);
}

.adminOperationsFilterLayoutsApprovals .adminOperationsFilterLayoutStacked .adminOperationsFilterRow:first-child, .adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutStacked .adminOperationsFilterRow:first-child {
  grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr);
}

.adminOperationsFilterLayoutsApprovals .adminOperationsFilterLayoutStacked .adminOperationsFilterRow:nth-child(2), .adminOperationsFilterLayoutsApprovals .adminOperationsFilterLayoutStacked .adminOperationsFilterRow:nth-child(3), .adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutStacked .adminOperationsFilterRow:nth-child(2), .adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutStacked .adminOperationsFilterRow:nth-child(3) {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.adminOperationsFilterLayoutsApprovals .adminOperationsFilterLayoutStacked .adminOperationsFilterRow:last-child, .adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutStacked .adminOperationsFilterRow:last-child {
  grid-template-columns: minmax(0, 1fr) fit-content(208px);
  gap: 8px;
}

.adminOperationsFilterLayoutsApprovals .adminOperationsFilterLayoutStacked .adminOperationsFilterEndCluster, .adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutStacked .adminOperationsFilterEndCluster {
  grid-template-columns: 104px 96px;
  gap: 8px;
  width: min(100%, 208px);
  max-width: 208px;
}

.adminOperationsFilterLayoutsApprovals .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldPerPage, .adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldPerPage {
  width: 104px;
  min-width: 104px;
}

.adminOperationsFilterLayoutsApprovals .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldSearch, .adminOperationsFilterLayoutsApprovals .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldSite, .adminOperationsFilterLayoutsApprovals .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldUser, .adminOperationsFilterLayoutsApprovals .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldStatus, .adminOperationsFilterLayoutsApprovals .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldType, .adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldSearch, .adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldSite, .adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldUser, .adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldStatus, .adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldType {
  min-width: 0;
  max-width: none;
}

.adminOperationsFilterLayoutsTimesheets .adminOperationsFilterLayoutWide .adminOperationsFilterRow {
  grid-template-columns: minmax(16rem, 1.45fr) minmax(10rem, 1fr) minmax(10rem, 1fr) 268px;
}

.adminOperationsFilterLayoutsTimesheets .adminOperationsFilterLayoutMedium .adminOperationsFilterRow:first-child {
  grid-template-columns: minmax(16rem, 1.6fr) minmax(11.5rem, .8fr);
}

.adminOperationsFilterLayoutsTimesheets .adminOperationsFilterLayoutMedium .adminOperationsFilterRow:last-child {
  grid-template-columns: minmax(9.75rem, 1fr) minmax(9.75rem, 1fr) fit-content(268px);
}

.adminOperationsFilterLayoutsTimesheets .adminOperationsFilterLayoutStacked .adminOperationsFilterRow:first-child {
  grid-template-columns: minmax(0, 1fr);
}

.adminOperationsFilterLayoutsTimesheets .adminOperationsFilterLayoutStacked .adminOperationsFilterRow:nth-child(2) {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.adminOperationsFilterLayoutsTimesheets .adminOperationsFilterLayoutStacked .adminOperationsFilterEndCluster {
  grid-template-columns: 104px 96px;
  gap: 8px;
  width: min(100%, 208px);
  max-width: 208px;
}

.adminOperationsFilterLayoutsTimesheets .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldPerPage {
  width: 104px;
  min-width: 104px;
}

.adminOperationsFilterLayoutsTimesheets .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldUser, .adminOperationsFilterLayoutsTimesheets .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldStatus {
  min-width: 0;
  max-width: none;
}

.adminOperationsFilterLayoutsReports .adminOperationsFilterLayoutMedium .adminOperationsFilterRow:first-child {
  grid-template-columns: minmax(14rem, 1.1fr) minmax(14rem, 1.1fr) minmax(11.5rem, .85fr);
}

.adminOperationsFilterLayoutsReports .adminOperationsFilterLayoutMedium .adminOperationsFilterRow:nth-child(2) {
  grid-template-columns: minmax(9.75rem, 1fr) minmax(9.75rem, 1fr) fit-content(268px);
}

.adminOperationsFilterLayoutsReports .adminOperationsFilterLayoutNarrow .adminOperationsFilterRow:first-child, .adminOperationsFilterLayoutsReports .adminOperationsFilterLayoutNarrow .adminOperationsFilterRow:nth-child(2) {
  grid-template-columns: minmax(12rem, 1fr) minmax(12rem, 1fr);
}

.adminOperationsFilterLayoutsReports .adminOperationsFilterLayoutNarrow .adminOperationsFilterRow:last-child {
  grid-template-columns: minmax(11.5rem, 1fr) fit-content(268px);
}

.adminOperationsFilterLayoutsReports .adminOperationsFilterLayoutStacked .adminOperationsFilterRow:first-child, .adminOperationsFilterLayoutsReports .adminOperationsFilterLayoutStacked .adminOperationsFilterRow:nth-child(2) {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.adminOperationsFilterLayoutsReports .adminOperationsFilterLayoutStacked .adminOperationsFilterRow:last-child {
  grid-template-columns: minmax(0, 1fr) fit-content(208px);
  gap: 8px;
}

.adminOperationsFilterLayoutsReports .adminOperationsFilterLayoutStacked .adminOperationsFilterEndCluster {
  grid-template-columns: 104px 96px;
  gap: 8px;
  width: min(100%, 208px);
  max-width: 208px;
}

.adminOperationsFilterLayoutsReports .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldPerPage {
  width: 104px;
  min-width: 104px;
}

.adminOperationsFilterLayoutsReports .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldSite, .adminOperationsFilterLayoutsReports .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldUser, .adminOperationsFilterLayoutsReports .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldStatus {
  min-width: 0;
  max-width: none;
}

.adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutMedium .adminOperationsFilterRow:first-child {
  grid-template-columns: minmax(16rem, 1.6fr) minmax(11.5rem, 1fr) minmax(12rem, 1.05fr) minmax(11.5rem, .9fr);
}

.adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutMedium .adminOperationsFilterRow:last-child {
  grid-template-columns: minmax(9.75rem, 1fr) minmax(9.75rem, 1fr) minmax(10.5rem, .95fr) fit-content(454px);
}

.adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutNarrow .adminOperationsFilterRow:first-child {
  grid-template-columns: minmax(16rem, 2fr) minmax(10.5rem, 1fr);
}

.adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutNarrow .adminOperationsFilterRow:nth-child(2) {
  grid-template-columns: minmax(13rem, 1.15fr) minmax(12rem, .95fr) minmax(9.5rem, .9fr);
}

.adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutNarrow .adminOperationsFilterRow:last-child {
  grid-template-columns: minmax(8.5rem, 1fr) minmax(8.5rem, 1fr) fit-content(454px);
}

.adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutStacked .adminOperationsFilterRow:first-child {
  grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr);
}

.adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutStacked .adminOperationsFilterRow:nth-child(2), .adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutStacked .adminOperationsFilterRow:nth-child(3) {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutStacked .adminOperationsFilterRow:last-child {
  grid-template-columns: minmax(0, 1fr) fit-content(370px);
  gap: 8px;
}

.adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutStacked .adminOperationsFilterEndCluster {
  grid-template-columns: 104px 96px;
  gap: 8px;
  width: min(100%, 208px);
  max-width: 208px;
}

.adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutStacked .adminOperationsFilterEndClusterWithExport {
  grid-template-columns: 104px 96px 154px;
  width: min(100%, 370px);
  max-width: 370px;
}

.adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldPerPage {
  width: 104px;
  min-width: 104px;
}

.adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldSearch, .adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldSite, .adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldUser, .adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldStatus, .adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldType {
  min-width: 0;
  max-width: none;
}

.adminOperationsFilterLayoutsDayOff .adminOperationsFilterLayoutWide .adminOperationsFilterRow, .adminOperationsFilterLayoutsGeo .adminOperationsFilterLayoutWide .adminOperationsFilterRow {
  grid-template-columns: minmax(14rem, 1.3fr) minmax(11.5rem, .9fr) minmax(10rem, 1fr) minmax(10rem, 1fr) 268px;
}

.adminOperationsFilterLayoutsDayOff .adminOperationsFilterLayoutMedium .adminOperationsFilterRow:first-child, .adminOperationsFilterLayoutsGeo .adminOperationsFilterLayoutMedium .adminOperationsFilterRow:first-child {
  grid-template-columns: minmax(14rem, 1.2fr) minmax(14rem, 1.2fr);
}

.adminOperationsFilterLayoutsDayOff .adminOperationsFilterLayoutMedium .adminOperationsFilterRow:last-child, .adminOperationsFilterLayoutsGeo .adminOperationsFilterLayoutMedium .adminOperationsFilterRow:last-child {
  grid-template-columns: minmax(10rem, 1fr) minmax(10rem, 1fr) fit-content(268px);
}

.adminOperationsFilterLayoutsDayOff .adminOperationsFilterLayoutStacked .adminOperationsFilterRow:first-child, .adminOperationsFilterLayoutsDayOff .adminOperationsFilterLayoutStacked .adminOperationsFilterRow:nth-child(2), .adminOperationsFilterLayoutsGeo .adminOperationsFilterLayoutStacked .adminOperationsFilterRow:first-child, .adminOperationsFilterLayoutsGeo .adminOperationsFilterLayoutStacked .adminOperationsFilterRow:nth-child(2) {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.adminOperationsFilterLayoutsDayOff .adminOperationsFilterLayoutStacked .adminOperationsFilterEndCluster, .adminOperationsFilterLayoutsGeo .adminOperationsFilterLayoutStacked .adminOperationsFilterEndCluster {
  grid-template-columns: 104px 96px;
  gap: 8px;
  width: min(100%, 208px);
  max-width: 208px;
}

.adminOperationsFilterLayoutsDayOff .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldPerPage, .adminOperationsFilterLayoutsGeo .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldPerPage {
  width: 104px;
  min-width: 104px;
}

.adminOperationsFilterLayoutsDayOff .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldUser, .adminOperationsFilterLayoutsDayOff .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldStatus, .adminOperationsFilterLayoutsGeo .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldSite, .adminOperationsFilterLayoutsGeo .adminOperationsFilterLayoutStacked .adminOperationsFilterFieldUser {
  min-width: 0;
  max-width: none;
}

.adminOperationsFilterLayoutsApprovals .adminOperationsFilterLayoutMedium, .adminOperationsFilterLayoutsReports .adminOperationsFilterLayoutMedium, .adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutMedium, .adminOperationsFilterLayoutsTimesheets .adminOperationsFilterLayoutMedium, .adminOperationsFilterLayoutsDayOff .adminOperationsFilterLayoutMedium, .adminOperationsFilterLayoutsGeo .adminOperationsFilterLayoutMedium {
  display: block;
}

@container admin-filter-card (max-width: 900px) {
  .adminOperationsFilterLayoutsApprovals .adminOperationsFilterLayoutMedium {
    display: none;
  }

  .adminOperationsFilterLayoutsApprovals .adminOperationsFilterLayoutNarrow {
    display: block;
  }
}

@container admin-filter-card (max-width: 620px) {
  .adminOperationsFilterLayoutsApprovals .adminOperationsFilterLayoutNarrow {
    display: none;
  }

  .adminOperationsFilterLayoutsApprovals .adminOperationsFilterLayoutStacked {
    display: block;
  }

  .adminOperationsFilterLayoutsTimesheets .adminOperationsFilterLayoutMedium {
    display: none;
  }

  .adminOperationsFilterLayoutsTimesheets .adminOperationsFilterLayoutStacked {
    display: block;
  }
}

@container admin-filter-card (max-width: 980px) {
  .adminOperationsFilterLayoutsReports .adminOperationsFilterLayoutMedium {
    display: none;
  }

  .adminOperationsFilterLayoutsReports .adminOperationsFilterLayoutNarrow {
    display: block;
  }
}

@container admin-filter-card (max-width: 900px) {
  .adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutMedium {
    display: none;
  }

  .adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutNarrow {
    display: block;
  }
}

@container admin-filter-card (max-width: 1040px) {
  .adminOperationsFilterLayoutsTicketsWithExport .adminOperationsFilterLayoutMedium {
    display: none;
  }

  .adminOperationsFilterLayoutsTicketsWithExport .adminOperationsFilterLayoutNarrow {
    display: block;
  }
}

@container admin-filter-card (max-width: 620px) {
  .adminOperationsFilterLayoutsReports .adminOperationsFilterLayoutNarrow {
    display: none;
  }

  .adminOperationsFilterLayoutsReports .adminOperationsFilterLayoutStacked {
    display: block;
  }

  .adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutNarrow {
    display: none;
  }

  .adminOperationsFilterLayoutsTickets .adminOperationsFilterLayoutStacked {
    display: block;
  }

  .adminOperationsFilterLayoutsDayOff .adminOperationsFilterLayoutMedium, .adminOperationsFilterLayoutsGeo .adminOperationsFilterLayoutMedium {
    display: none;
  }

  .adminOperationsFilterLayoutsDayOff .adminOperationsFilterLayoutStacked, .adminOperationsFilterLayoutsGeo .adminOperationsFilterLayoutStacked {
    display: block;
  }
}

@container admin-filter-card (max-width: 860px) {
  .adminOperationsFilterFieldFrom, .adminOperationsFilterFieldTo {
    max-width: none;
  }
}

@container admin-filter-card (max-width: 560px) {
  .adminOperationsFilterLabelLong {
    display: none;
  }

  .adminOperationsFilterLabelShort {
    display: inline;
  }

  .adminOperationsFilterLayoutNarrow .adminOperationsFilterRow {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  .adminOperationsFilterLayoutNarrow .adminOperationsFilterEndCluster {
    justify-self: stretch;
    width: 100%;
    min-width: 0;
    max-width: none;
  }

  .adminOperationsFilterLayoutNarrow .adminOperationsFilterFieldSearch, .adminOperationsFilterLayoutNarrow .adminOperationsFilterFieldSite, .adminOperationsFilterLayoutNarrow .adminOperationsFilterFieldUser, .adminOperationsFilterLayoutNarrow .adminOperationsFilterFieldStatus, .adminOperationsFilterLayoutNarrow .adminOperationsFilterFieldType, .adminOperationsFilterLayoutNarrow .adminOperationsFilterFieldFrom, .adminOperationsFilterLayoutNarrow .adminOperationsFilterFieldTo {
    min-width: 0;
    max-width: none;
  }

  .adminOperationsFilterLayoutStacked .adminOperationsFilterRow {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  .adminOperationsFilterLayoutStacked .adminOperationsFilterEndCluster {
    justify-self: stretch;
    width: 100%;
    min-width: 0;
    max-width: none;
  }
}

.adminReportsFilterActions {
  align-self: end;
  width: 118px;
}

.adminReportsFilterActions .btn, .adminReportsFilterActions a.btn {
  width: 100%;
}

.adminEmptyText {
  margin: 0;
}

.adminInfoGrid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 6px;
  display: grid;
}

.adminInfoPill {
  justify-content: space-between;
}

.adminInfoValue {
  font-size: 12px;
}

.adminRuntimeHealthPage {
  gap: 18px;
}

.adminRuntimeHealthHeader {
  grid-template-columns: minmax(0, 1fr) auto;
  justify-content: space-between;
  align-items: start;
  gap: 16px;
  width: 100%;
  display: grid;
}

.adminRuntimeHealthHeaderActions {
  white-space: nowrap;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  padding-top: 3px;
  display: flex;
}

.adminRuntimeHealthLastUpdated {
  white-space: nowrap;
  font-size: 13px;
}

.adminRuntimeHealthSummaryPanels, .adminRuntimeHealthFeedback, .adminRuntimeHealthLedgerSection {
  width: 100%;
}

.adminRuntimeHealthSummaryPanels {
  gap: 16px;
  display: grid;
}

@media (min-width: 1040px) {
  .adminRuntimeHealthSummaryPanels {
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.06fr) minmax(0, .94fr);
  }
}

.adminRuntimeHealthSummaryPanel {
  background: var(--bg);
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: var(--radius);
  box-shadow: none;
  align-content: start;
  gap: 14px;
  min-width: 0;
  padding: 14px 16px;
  display: grid;
}

.adminRuntimeHealthPanelHead h2, .adminRuntimeHealthSectionHead h2 {
  color: var(--fg);
  margin: 0;
  font-size: 16px;
  line-height: 1.2;
}

.adminRuntimeHealthPanelHead p, .adminRuntimeHealthSectionHead p {
  color: var(--muted);
  margin: 4px 0 0;
  font-size: 13px;
  line-height: 1.35;
}

.adminRuntimeHealthMetricGrid {
  grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
  gap: 12px 18px;
  display: grid;
}

.adminRuntimeHealthMetricGrid--jobs, .adminRuntimeHealthMetricGrid--services {
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
}

.adminRuntimeHealthMetric {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 3px 10px;
  min-width: 0;
  display: grid;
}

.adminRuntimeHealthMetric:before {
  content: "";
  background: #64748b;
  border-radius: 999px;
  grid-row: 1 / span 2;
  width: 2px;
  height: 28px;
}

.adminRuntimeHealthMetric strong {
  color: var(--fg);
  font-size: 26px;
  line-height: 1;
}

.adminRuntimeHealthMetric span {
  color: var(--muted);
  letter-spacing: 0;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.2;
}

.adminRuntimeHealthMetric.isHealthy:before {
  background: #22c55e;
}

.adminRuntimeHealthMetric.isRunning:before {
  background: #3b82f6;
}

.adminRuntimeHealthMetric.isStale:before {
  background: #f59e0b;
}

.adminRuntimeHealthMetric.isFailed:before, .adminRuntimeHealthMetric.isDown:before {
  background: #ef4444;
}

.adminRuntimeHealthFeedback, .adminRuntimeHealthLedgerSection {
  gap: 10px;
  min-width: 0;
  display: grid;
}

.adminRuntimeHealthTableWrap {
  background: var(--bg);
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  overflow: auto hidden;
}

.adminRuntimeHealthTable {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
}

.adminRuntimeHealthProcessTable {
  min-width: 960px;
}

.adminRuntimeHealthJobsTable {
  min-width: 1040px;
}

.adminRuntimeHealthServicesTable {
  min-width: 780px;
}

.adminRuntimeHealthProcessTable th:first-child, .adminRuntimeHealthProcessTable td:first-child, .adminRuntimeHealthJobsTable th:first-child, .adminRuntimeHealthJobsTable td:first-child, .adminRuntimeHealthServicesTable th:first-child, .adminRuntimeHealthServicesTable td:first-child {
  width: 80px;
}

.adminRuntimeHealthProcessTable th:nth-child(2), .adminRuntimeHealthProcessTable td:nth-child(2) {
  width: 155px;
}

.adminRuntimeHealthJobsTable th:nth-child(2), .adminRuntimeHealthJobsTable td:nth-child(2) {
  width: 215px;
}

.adminRuntimeHealthProcessTable th:nth-child(3), .adminRuntimeHealthProcessTable td:nth-child(3), .adminRuntimeHealthProcessTable th:nth-child(4), .adminRuntimeHealthProcessTable td:nth-child(4) {
  width: 132px;
}

.adminRuntimeHealthProcessTable th:nth-child(5), .adminRuntimeHealthProcessTable td:nth-child(5) {
  width: 170px;
}

.adminRuntimeHealthProcessTable th:nth-child(6), .adminRuntimeHealthProcessTable td:nth-child(6) {
  width: 55px;
}

.adminRuntimeHealthProcessTable th:nth-child(7), .adminRuntimeHealthProcessTable td:nth-child(7) {
  width: 135px;
}

.adminRuntimeHealthProcessTable th:nth-child(8), .adminRuntimeHealthProcessTable td:nth-child(8) {
  text-align: right;
  width: 50px;
}

.adminRuntimeHealthJobsTable th:nth-child(3), .adminRuntimeHealthJobsTable td:nth-child(3) {
  width: 72px;
}

.adminRuntimeHealthJobsTable th:nth-child(4), .adminRuntimeHealthJobsTable td:nth-child(4), .adminRuntimeHealthJobsTable th:nth-child(5), .adminRuntimeHealthJobsTable td:nth-child(5), .adminRuntimeHealthJobsTable th:nth-child(6), .adminRuntimeHealthJobsTable td:nth-child(6) {
  width: 124px;
}

.adminRuntimeHealthJobsTable th:nth-child(7), .adminRuntimeHealthJobsTable td:nth-child(7) {
  width: 95px;
}

.adminRuntimeHealthJobsTable th:nth-child(8), .adminRuntimeHealthJobsTable td:nth-child(8) {
  width: 225px;
}

.adminRuntimeHealthServicesTable th:nth-child(2), .adminRuntimeHealthServicesTable td:nth-child(2) {
  width: 285px;
}

.adminRuntimeHealthServicesTable th:nth-child(3), .adminRuntimeHealthServicesTable td:nth-child(3) {
  width: 130px;
}

.adminRuntimeHealthServicesTable th:nth-child(4), .adminRuntimeHealthServicesTable td:nth-child(4) {
  width: auto;
}

.adminRuntimeHealthTable th {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  color: var(--muted);
  letter-spacing: .04em;
  text-align: left;
  text-transform: uppercase;
  padding: 10px;
  font-size: 11px;
  font-weight: 760;
}

.adminRuntimeHealthTable td {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  color: color-mix(in srgb, var(--fg), var(--muted) 18%);
  vertical-align: middle;
  padding: 9px 10px;
  font-size: 11px;
  line-height: 1.35;
}

.adminRuntimeHealthTable td.mono {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.adminRuntimeHealthTable tbody tr:last-child td {
  border-bottom: 0;
}

.adminRuntimeHealthTable tbody tr:hover {
  background: color-mix(in srgb, var(--focus), transparent 96%);
}

.adminRuntimeHealthTitleRow {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminRuntimeHealthTitleRow strong {
  color: var(--fg);
  min-width: 0;
  font-size: 13px;
  line-height: 1.2;
}

.adminRuntimeHealthTitleRow span {
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  font-size: 11px;
  overflow: hidden;
}

.adminRuntimeHealthTruncate {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
}

.adminRuntimeHealthStatusBadge {
  --runtime-status-bg: #f8fafc;
  --runtime-status-border: #e2e8f0;
  --runtime-status-color: #475569;
  --runtime-status-dot: #64748b;
  background: var(--runtime-status-bg);
  border: 1px solid var(--runtime-status-border);
  color: var(--runtime-status-color);
  white-space: nowrap;
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
}

.adminRuntimeHealthStatusBadge--pill {
  min-width: 68px;
  min-height: 22px;
  padding: 3px 8px;
}

.adminRuntimeHealthStatusBadge--dot {
  background: none;
  border-color: #0000;
  justify-content: flex-start;
  gap: 6px;
  min-height: 20px;
  padding: 0;
}

.adminRuntimeHealthStatusBadge--dot:before {
  background: var(--runtime-status-dot);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--runtime-status-dot), transparent 84%);
  content: "";
  border-radius: 999px;
  flex: none;
  width: 6px;
  height: 6px;
}

.adminRuntimeHealthStatusBadge.isHealthy {
  --runtime-status-bg: #f0fdf4;
  --runtime-status-border: #d9f7e2;
  --runtime-status-color: #166534;
  --runtime-status-dot: #16a34a;
}

.adminRuntimeHealthStatusBadge.isRunning {
  --runtime-status-bg: #eff6ff;
  --runtime-status-border: #dbeafe;
  --runtime-status-color: #1d4ed8;
  --runtime-status-dot: #2563eb;
}

.adminRuntimeHealthStatusBadge.isStale {
  --runtime-status-bg: #fffbeb;
  --runtime-status-border: #fdecc8;
  --runtime-status-color: #92400e;
  --runtime-status-dot: #f59e0b;
}

.adminRuntimeHealthStatusBadge.isFailed, .adminRuntimeHealthStatusBadge.isDown {
  --runtime-status-bg: #fef2f2;
  --runtime-status-border: #fee2e2;
  --runtime-status-color: #b91c1c;
  --runtime-status-dot: #dc2626;
}

.adminRuntimeHealthStatusBadge.isUnknown {
  --runtime-status-bg: #f8fafc;
  --runtime-status-border: #e2e8f0;
  --runtime-status-color: #475569;
  --runtime-status-dot: #64748b;
}

.adminRuntimeHealthNotes {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.adminRuntimeHealthNotes > span {
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  min-width: 0;
  max-width: 100%;
  line-height: 1.35;
  display: -webkit-box;
  overflow: hidden;
}

.adminRuntimeHealthNotes > .adminRuntimeHealthLatency, .adminRuntimeHealthNotes > .adminRuntimeHealthQueueText {
  border-radius: 999px;
  flex: none;
  align-items: center;
  min-height: 20px;
  padding: 3px 7px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
}

.adminRuntimeHealthLatency {
  color: #475569;
  background: #f8fafc;
}

.adminRuntimeHealthQueueText {
  color: #92400e;
  background: #fffbeb;
}

.adminRuntimeHealthActionButton {
  background: color-mix(in srgb, var(--focus), transparent 94%);
  border: 1px solid color-mix(in srgb, var(--focus), transparent 55%);
  color: var(--focus);
  white-space: nowrap;
  min-height: 32px;
  padding: 5px 10px;
  font-size: 11px;
  font-weight: 700;
}

.adminRuntimeHealthActionButton:hover:not(:disabled) {
  background: color-mix(in srgb, var(--focus), transparent 90%);
  border-color: color-mix(in srgb, var(--focus), transparent 38%);
}

.adminRuntimeHealthActionCell {
  display: inline-flex;
}

.adminRuntimeHealthMobileAction {
  display: none;
}

.adminRuntimeHealthErrorText {
  color: var(--danger);
  font-size: 12px;
}

.adminRuntimeHealthMobileList {
  display: none;
}

@media (max-width: 900px) {
  .adminRuntimeHealthHeader {
    flex-direction: column;
    align-items: stretch;
    display: flex;
  }

  .adminRuntimeHealthHeaderActions {
    justify-content: flex-start;
    align-items: flex-start;
  }

  .adminRuntimeHealthLastUpdated {
    white-space: normal;
  }

  .adminRuntimeHealthSummaryPanel {
    padding: 14px;
  }

  .adminRuntimeHealthMetricGrid, .adminRuntimeHealthMetricGrid--jobs, .adminRuntimeHealthMetricGrid--services {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .adminRuntimeHealthTableWrap {
    display: none;
  }

  .adminRuntimeHealthMobileList {
    gap: 10px;
    display: grid;
  }

  .adminRuntimeHealthMobileRow {
    background: var(--bg);
    border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
    border-radius: var(--radius);
    gap: 12px;
    padding: 12px;
    display: grid;
  }

  .adminRuntimeHealthMobileRow > header {
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
    display: flex;
  }

  .adminRuntimeHealthMobileRow > header > div {
    flex: auto;
    min-width: 0;
  }

  .adminRuntimeHealthMobileRow h3, .adminRuntimeHealthMobileRow p {
    overflow-wrap: anywhere;
    margin: 0;
  }

  .adminRuntimeHealthMobileRow h3 {
    color: var(--fg);
    font-size: 14px;
    line-height: 1.2;
  }

  .adminRuntimeHealthMobileRow p {
    color: var(--muted);
    overflow-wrap: anywhere;
    font-size: 12px;
  }

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

  .adminRuntimeHealthMobileValue {
    gap: 2px;
    min-width: 0;
    display: grid;
  }

  .adminRuntimeHealthMobileValue > span {
    color: var(--muted);
    letter-spacing: .04em;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 760;
    line-height: 1.2;
  }

  .adminRuntimeHealthMobileValue > strong {
    color: var(--fg);
    overflow-wrap: anywhere;
    min-width: 0;
    font-size: 12px;
    font-weight: 650;
  }

  .adminRuntimeHealthMobileAction {
    display: block;
  }

  .adminRuntimeHealthMobileAction .btn {
    width: 100%;
  }

  .adminRuntimeHealthNotes .adminRuntimeHealthActionCell {
    display: none;
  }
}

@media (max-width: 520px) {
  .adminRuntimeHealthMobileValues {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 860px) {
  .notificationBellPanel {
    width: auto;
    height: calc(100dvh - 76px - env(safe-area-inset-bottom));
    max-height: calc(100dvh - 76px - env(safe-area-inset-bottom));
    z-index: 80;
    border-radius: 14px;
    position: fixed;
    inset: 64px 12px 12px;
  }

  .notificationBellPanel.notificationBellPanel_empty {
    width: auto;
    height: auto;
    bottom: auto;
  }

  .notificationCenterPage .adminHeaderBody, .notificationSettingsPage .adminHeaderBody {
    gap: 10px;
  }
}

@media (min-width: 1180px) {
  .adminRoleTemplateMetaGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .adminRoleTemplateMetaGrid .field:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .adminLoginMain {
    place-items: stretch stretch;
    width: 100%;
    height: 100dvh;
    min-height: 0;
    padding: 0;
    overflow: hidden;
  }

  .adminLoginShell {
    width: 100%;
    max-width: none;
    height: 100%;
    min-height: 0;
    box-shadow: none;
    border: 0;
    border-radius: 0;
    grid-template-rows: auto minmax(0, 1fr);
  }

  .adminLoginBrandPanel {
    padding: max(10px, env(safe-area-inset-top))
      max(18px, env(safe-area-inset-right))
      10px
      max(18px, env(safe-area-inset-left));
    grid-template-columns: minmax(0, 1fr) auto;
    align-content: center;
    align-items: center;
    gap: 14px;
  }

  .adminLoginBrandContent {
    align-items: center;
    gap: 11px;
    min-width: 0;
    display: flex;
  }

  .adminLoginBrandLogoFrame {
    flex: none;
    min-height: 44px;
    margin: 0;
    padding: 6px 9px;
  }

  .adminLoginBrandLogo {
    height: 22px !important;
  }

  .adminLoginBrandName, .adminLoginSubtitle {
    display: none;
  }

  .adminLoginTitle {
    letter-spacing: -.02em;
    min-width: 0;
    max-width: none;
    font-size: 20px;
    line-height: 1.08;
  }

  .adminLoginAccessPanel {
    min-height: 0;
    padding: clamp(28px, 7dvh, 64px)
      max(20px, env(safe-area-inset-right))
      max(20px, env(safe-area-inset-bottom))
      max(20px, env(safe-area-inset-left));
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    align-content: start;
    justify-items: center;
    overflow-y: auto;
  }

  .adminLoginAccessHeader, .adminLoginRouteHint, .adminLoginForm, .adminLoginMfaPanel {
    justify-self: center;
    width: min(100%, 520px);
  }

  .adminLoginAccessHeader {
    gap: 16px;
  }

  .adminLoginAccessTitle {
    font-size: 27px;
  }

  .adminLoginAccessHint {
    margin-top: 6px;
    font-size: 13px;
  }

  .adminLoginRouteHint {
    margin: 18px 0 22px;
    font-size: .875rem;
  }

  .adminLoginHelpRow {
    margin-top: 6px;
  }

  .adminLoginSubmitRow {
    margin-top: 10px;
  }

  .adminLoginBuildVersion {
    white-space: nowrap;
    align-self: center;
    margin: 0;
    font-size: .6875rem;
  }

  .adminPageTitle {
    font-size: 24px;
  }

  .adminHeaderBody {
    align-items: flex-start;
  }

  .adminSettingsContent {
    padding-left: 0;
  }

  .adminSettingsPageContentSplit {
    min-width: 0;
  }

  .adminCountPill {
    min-width: 68px;
  }

  .adminUsersRoleWarningStrip {
    flex-direction: column;
    align-items: flex-start;
  }

  .adminUsersRoleWarningAction {
    justify-content: center;
    width: 100%;
  }

  .adminUsersListPage .adminListTable {
    min-width: 980px;
  }

  .adminUsersRowActions {
    justify-content: flex-start;
  }

  .adminUserEditProfileHead {
    flex-direction: column;
    align-items: flex-start;
  }

  .adminUserEditProfilePills {
    justify-content: flex-start;
    margin-left: 0;
  }

  .adminUserAccessToggle, .adminUserAccessSectionHead {
    flex-direction: column;
    align-items: flex-start;
  }

  .adminUserAccessPanelBody {
    padding-top: 14px;
  }

  .adminUserAccessHero, .adminUserAccessModuleGrid, .adminUserCategoryAssignmentEditor {
    grid-template-columns: 1fr;
  }

  .adminUserDirectGrantRow {
    grid-template-columns: 22px minmax(0, 1fr);
  }

  .adminUserDirectGrantRow .adminUserAccessMetric {
    grid-column: 2;
    justify-self: flex-start;
  }

  .adminUserEditProfileActionsButtons {
    justify-content: flex-start;
  }

  .adminOperationsHeaderTitleRow {
    flex-wrap: wrap;
  }

  .adminFilterGrid {
    grid-template-columns: 1fr;
  }

  .adminFilterActions {
    justify-content: flex-start;
  }

  .adminReportsFilterActions {
    justify-content: flex-start;
    width: 100%;
  }

  .adminCompanyCalendarPanelTopRow {
    align-items: flex-start;
  }

  .adminCompanyCalendarPanelTopRowOpen {
    grid-template-columns: 1fr;
  }

  .adminCompanyCalendarPanelTopActions {
    width: 100%;
  }

  .adminCompanyCalendarActionLane {
    justify-content: flex-start;
    width: 100%;
    max-width: none;
    margin-left: 0;
  }

  .adminCompanyCalendarSelectedInput, .adminCompanyCalendarCloseBtn {
    width: auto !important;
    min-width: 0 !important;
  }

  .adminCompanyCalendarBulkActions {
    justify-content: flex-start;
  }

  .adminCompanyCalendarEditorGrid {
    grid-template-columns: 1fr;
  }

  .adminFilterActions .btn, .adminFilterActions a.btn {
    min-width: 88px;
  }

  .adminPagination {
    justify-content: center;
  }

  .adminPaginationNav {
    flex-wrap: nowrap;
    justify-content: center;
    width: auto;
  }

  .adminPaginationCompactMobile .adminPaginationEllipsis, .adminPaginationCompactMobile .adminPaginationNumber:not(.isCurrent) {
    display: none;
  }

  .adminPaginationCompactMobile .adminPaginationNumbers {
    flex: none;
  }

  .adminPaginationCompactMobile .adminPaginationNumber.isCurrent {
    pointer-events: none;
    min-width: 36px;
  }
}

@media (max-width: 420px) {
  .adminLoginMain {
    padding: 0;
  }

  .adminLoginBrandLogo {
    height: 21px !important;
  }

  .adminLoginTitle {
    font-size: 19px;
  }

  .adminLoginBrandPanel {
    padding: max(8px, env(safe-area-inset-top))
      max(16px, env(safe-area-inset-right))
      8px
      max(16px, env(safe-area-inset-left));
  }

  .adminLoginAccessPanel {
    padding: clamp(26px, 7dvh, 54px)
      max(18px, env(safe-area-inset-right))
      max(18px, env(safe-area-inset-bottom))
      max(18px, env(safe-area-inset-left));
  }
}

@media (max-width: 760px) and (max-height: 650px) and (orientation: portrait) {
  .adminLoginAccessPanel {
    padding-top: 18px;
  }
}

@media (max-width: 900px) and (max-height: 520px) and (orientation: landscape) {
  .adminLoginMain {
    place-items: stretch stretch;
    width: 100%;
    height: 100dvh;
    min-height: 0;
    padding: 0;
    overflow: hidden;
  }

  .adminLoginShell {
    width: 100%;
    max-width: none;
    height: 100%;
    min-height: 0;
    box-shadow: none;
    border: 0;
    border-radius: 0;
    grid-template-rows: minmax(0, 1fr);
    grid-template-columns: minmax(210px, .72fr) minmax(0, 1.28fr);
  }

  .adminLoginBrandPanel {
    padding: max(18px, env(safe-area-inset-top))
      24px
      max(18px, env(safe-area-inset-bottom))
      max(24px, env(safe-area-inset-left));
    grid-template-columns: minmax(0, 1fr);
    align-content: space-between;
    align-items: start;
    gap: 16px;
  }

  .adminLoginBrandContent {
    align-content: start;
    justify-items: start;
    gap: 0;
    display: grid;
  }

  .adminLoginBrandLogoFrame {
    min-height: 44px;
    margin: 0 0 18px;
  }

  .adminLoginBrandName {
    margin-bottom: 7px;
    font-size: 10px;
    display: block;
  }

  .adminLoginTitle {
    max-width: 11ch;
    font-size: 27px;
  }

  .adminLoginSubtitle {
    display: none;
  }

  .adminLoginBuildVersion {
    align-self: end;
  }

  .adminLoginAccessPanel {
    min-height: 0;
    padding: max(18px, env(safe-area-inset-top))
      max(28px, env(safe-area-inset-right))
      max(18px, env(safe-area-inset-bottom))
      28px;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    align-content: start;
    justify-items: center;
    overflow-y: auto;
  }

  .adminLoginAccessHeader, .adminLoginRouteHint, .adminLoginForm, .adminLoginMfaPanel {
    justify-self: center;
    width: min(100%, 520px);
  }
}

.adminTimesheetMonthGridWrap {
  margin-top: 8px;
}

.adminTimesheetMonthHeaderRow {
  gap: 8px;
  display: grid;
}

.adminTimesheetMonthHeadingRow {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.adminTimesheetMonthHeadingIdentityRow {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.adminTimesheetMonthIdentity {
  align-items: baseline;
  gap: 6px;
  min-width: 0;
  display: inline-flex;
}

.adminTimesheetMonthIdentity .adminUsersNameLine {
  font-size: 16px;
  line-height: 1.15;
}

.adminTimesheetMonthIdentity .muted {
  font-size: 14px;
  line-height: 1.15;
}

.adminTimesheetMonthHeading {
  margin: 0;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.2;
}

.adminTimesheetDocumentStatusBar {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 10px;
  padding-top: 2px;
  display: flex;
}

.adminTimesheetDocumentStatusText {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.adminTimesheetDocumentStatusText strong {
  font-size: 13px;
  line-height: 1.2;
}

.adminTimesheetDocumentActions {
  justify-content: flex-end;
}

.adminTimesheetDocumentActions .btn {
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.adminTimesheetDetailPage {
  gap: 16px;
}

.adminTimesheetDetailHeader {
  gap: 14px;
  display: grid;
}

.adminTimesheetDetailWorkbenchBar {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  display: grid;
}

.adminTimesheetDetailControls {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.adminTimesheetDetailTitle {
  min-width: 0;
  color: color-mix(in srgb, var(--fg), black 10%);
  letter-spacing: 0;
  margin: 0;
  font-size: clamp(28px, 2.2vw, 36px);
  font-weight: 800;
  line-height: 1.05;
}

.adminTimesheetDetailMonthNav {
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  background: var(--bg);
  align-items: stretch;
  min-height: 44px;
  display: inline-flex;
  overflow: hidden;
}

.adminTimesheetDetailMonthNav .btn {
  min-width: 44px;
  min-height: 44px;
  box-shadow: none;
  border: 0;
  border-radius: 0;
}

.adminTimesheetDetailMonthNav .btn + .adminTimesheetDetailMonthLabel, .adminTimesheetDetailMonthLabel + .btn {
  border-left: 1px solid var(--stroke);
}

.adminTimesheetDetailMonthLabel {
  min-width: 150px;
  color: color-mix(in srgb, var(--fg), white 8%);
  white-space: nowrap;
  align-items: center;
  gap: 8px;
  padding: 0 16px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  display: inline-flex;
}

.adminTimesheetDetailMonthLabel:hover {
  background: color-mix(in srgb, var(--bg-2), var(--focus) 5%);
}

.adminTimesheetDetailMonthLabel:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 18%);
  outline-offset: -2px;
}

.adminTimesheetDetailWorkerSelect {
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  background: var(--bg);
  width: min(340px, 100%);
  min-width: 250px;
  min-height: 44px;
  color: color-mix(in srgb, var(--muted), var(--fg) 16%);
  align-items: center;
  gap: 8px;
  padding-left: 12px;
  display: flex;
}

.adminTimesheetDetailWorkerSelect .listboxRoot {
  flex: auto;
  min-width: 0;
}

.adminTimesheetDetailWorkerSelect .listboxTrigger {
  min-height: 42px;
  box-shadow: none;
  background: none;
  border: 0;
  padding-left: 0;
}

.adminTimesheetDetailWorkerSelect .listboxMenu {
  min-width: 100%;
}

.adminTimesheetDetailActions {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminTimesheetDetailActions .btn {
  align-items: center;
  gap: 7px;
  min-height: 44px;
  display: inline-flex;
}

.adminOperationsReadOnlyTimesheetPage > .adminTimesheetDetailCalendarShell {
  border-color: color-mix(in srgb, var(--stroke), var(--focus) 10%);
  background: #fff;
}

.adminTimesheetDetailCalendarBody {
  gap: 14px;
}

.adminTimesheetDetailReadOnlyBanner {
  justify-content: flex-start;
  display: flex;
}

.adminTimesheetDetailReviewStrip {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg), var(--bg-2) 18%);
  grid-template-columns: minmax(350px, 1.08fr) minmax(300px, 1fr) minmax(190px, .56fr);
  align-items: stretch;
  gap: 0;
  display: grid;
  overflow: hidden;
}

.adminTimesheetDetailProgressPanel, .adminTimesheetDetailAttentionPanel, .adminTimesheetDetailDocumentPanel {
  align-content: start;
  gap: 7px;
  min-width: 0;
  padding: 14px 16px;
  display: grid;
}

.adminTimesheetDetailProgressPanel {
  --timesheet-progress-tone: var(--timesheet-status-amber);
  --timesheet-progress-text: var(--timesheet-status-amber-text);
}

.adminTimesheetDetailProgressPanel.isComplete {
  --timesheet-progress-tone: var(--timesheet-status-green);
  --timesheet-progress-text: var(--timesheet-status-green-text);
}

.adminTimesheetDetailProgressPanel.isEmpty {
  --timesheet-progress-tone: var(--timesheet-status-red);
  --timesheet-progress-text: var(--timesheet-status-red-text);
}

.adminTimesheetDetailProgressPanel, .adminTimesheetDetailAttentionPanel {
  border-right: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
}

.adminTimesheetDetailAttentionPanel {
  grid-template-rows: auto auto;
  align-content: center;
  gap: 9px;
}

.adminTimesheetDetailDocumentPanel {
  grid-template-rows: auto minmax(0, 1fr);
}

.adminTimesheetDetailDocumentPanel .adminTimesheetDetailDocumentStatus {
  place-self: center start;
}

.adminTimesheetDetailProgressContent {
  gap: 9px;
  min-width: 0;
  display: grid;
}

.adminTimesheetDetailTimeCoverage {
  grid-template-columns: auto max-content auto minmax(60px, 1fr);
  align-items: center;
  gap: 7px 8px;
  min-width: 0;
  min-height: 34px;
  display: grid;
}

.adminTimesheetDetailTimeCoveragePercent {
  color: var(--timesheet-progress-tone);
  letter-spacing: 0;
  white-space: nowrap;
  font-size: 30px;
  font-weight: 840;
  line-height: 1;
}

.adminTimesheetDetailTimeCoverageCopy {
  border-left: 1px solid color-mix(in srgb, var(--stroke), white 18%);
  gap: 3px;
  min-width: 0;
  padding-left: 10px;
  display: grid;
}

.adminTimesheetDetailTimeCoverageCopy strong {
  color: color-mix(in srgb, var(--fg), black 5%);
  font-size: 14px;
  font-weight: 820;
  line-height: 1;
}

.adminTimesheetDetailTimeCoverageCopy .mono {
  white-space: nowrap;
  font-size: 12px;
  line-height: 1.1;
}

.adminTimesheetDetailTimeCoverageDays {
  white-space: nowrap;
  font-size: 13px;
  font-weight: 680;
  line-height: 1;
}

.adminTimesheetDetailProgressTrack {
  appearance: none;
  background: var(--timesheet-status-track);
  border: 0;
  border-radius: 999px;
  width: 100%;
  height: 6px;
  overflow: hidden;
}

.adminTimesheetDetailProgressTrack::-webkit-progress-bar {
  border-radius: inherit;
  background: var(--timesheet-status-track);
}

.adminTimesheetDetailProgressTrack::-webkit-progress-value {
  border-radius: inherit;
  background: var(--timesheet-progress-tone);
}

.adminTimesheetDetailProgressTrack::-moz-progress-bar {
  border-radius: inherit;
  background: var(--timesheet-progress-tone);
}

.adminTimesheetDetailReportCoverage {
  border-top: 1px solid color-mix(in srgb, var(--stroke), white 26%);
  grid-template-columns: auto auto auto max-content minmax(60px, 1fr);
  align-items: center;
  gap: 3px 8px;
  min-width: 0;
  padding-top: 9px;
  display: grid;
}

.adminTimesheetDetailReportCoverageIcon {
  color: var(--timesheet-status-amber);
  justify-content: center;
  align-items: center;
  line-height: 1;
  display: inline-flex;
}

.adminTimesheetDetailReportCoverageLabel {
  color: color-mix(in srgb, var(--muted), black 4%);
  text-transform: uppercase;
  white-space: nowrap;
  font-size: 10.5px;
  font-weight: 790;
  line-height: 1;
}

.adminTimesheetDetailReportCoveragePercent {
  color: var(--timesheet-status-amber-text);
  white-space: nowrap;
  font-size: 11.5px;
  font-weight: 850;
  line-height: 1;
}

.adminTimesheetDetailReportCoverageTrack {
  appearance: none;
  background: var(--timesheet-status-track);
  border: 0;
  border-radius: 999px;
  width: 100%;
  min-width: 0;
  height: 6px;
  overflow: hidden;
}

.adminTimesheetDetailReportCoverageTrack::-webkit-progress-bar {
  border-radius: inherit;
  background: var(--timesheet-status-track);
}

.adminTimesheetDetailReportCoverageTrack::-webkit-progress-value {
  border-radius: inherit;
  background: var(--timesheet-status-amber);
}

.adminTimesheetDetailReportCoverageTrack::-moz-progress-bar {
  border-radius: inherit;
  background: var(--timesheet-status-amber);
}

.adminTimesheetDetailReportCoverage.isComplete .adminTimesheetDetailReportCoveragePercent {
  color: var(--timesheet-status-green-text);
}

.adminTimesheetDetailReportCoverage.isComplete .adminTimesheetDetailReportCoverageTrack::-webkit-progress-value {
  background: var(--timesheet-status-green);
}

.adminTimesheetDetailReportCoverage.isComplete .adminTimesheetDetailReportCoverageTrack::-moz-progress-bar {
  background: var(--timesheet-status-green);
}

.adminTimesheetDetailReportCoverage.isMatched .adminTimesheetDetailReportCoveragePercent {
  color: color-mix(in srgb, var(--timesheet-status-neutral), var(--fg) 12%);
}

.adminTimesheetDetailReportCoverage.isMatched .adminTimesheetDetailReportCoverageIcon {
  color: color-mix(in srgb, var(--timesheet-status-neutral), var(--fg) 8%);
}

.adminTimesheetDetailReportCoverage.isMatched .adminTimesheetDetailReportCoverageTrack::-webkit-progress-value {
  background: color-mix(in srgb, var(--timesheet-status-neutral), white 24%);
}

.adminTimesheetDetailReportCoverage.isMatched .adminTimesheetDetailReportCoverageTrack::-moz-progress-bar {
  background: color-mix(in srgb, var(--timesheet-status-neutral), white 24%);
}

.adminTimesheetDetailReportCoverage.isExtra .adminTimesheetDetailReportCoveragePercent {
  color: var(--timesheet-status-variance-text);
}

.adminTimesheetDetailReportCoverage.isExtra .adminTimesheetDetailReportCoverageIcon {
  color: var(--timesheet-status-variance);
}

.adminTimesheetDetailReportCoverage.isExtra .adminTimesheetDetailReportCoverageTrack::-webkit-progress-value {
  background: var(--timesheet-status-variance);
}

.adminTimesheetDetailReportCoverage.isExtra .adminTimesheetDetailReportCoverageTrack::-moz-progress-bar {
  background: var(--timesheet-status-variance);
}

.adminTimesheetDetailReportCoverage.isEmpty .adminTimesheetDetailReportCoveragePercent {
  color: var(--timesheet-status-amber-text);
}

.adminTimesheetDetailReportCoverage.isEmpty .adminTimesheetDetailReportCoverageTrack::-webkit-progress-value {
  background: var(--timesheet-status-amber);
}

.adminTimesheetDetailReportCoverage.isEmpty .adminTimesheetDetailReportCoverageTrack::-moz-progress-bar {
  background: var(--timesheet-status-amber);
}

.adminTimesheetDetailReportCoverage.isNoBaseline {
  grid-template-columns: auto auto minmax(0, 1fr);
}

.adminTimesheetDetailReportCoverageHours, .adminTimesheetDetailReportCoverageExtra {
  white-space: nowrap;
  font-size: 11px;
  font-weight: 690;
  line-height: 1.12;
}

.adminTimesheetDetailReportCoverageHours {
  min-width: 0;
}

.adminTimesheetDetailReportCoverageExtra {
  color: var(--timesheet-status-variance-extra-text);
  grid-column: 1 / -1;
  font-weight: 820;
}

.adminTimesheetDetailAttentionLabel {
  justify-self: start;
}

.adminTimesheetDetailAttentionIssueBar {
  flex-wrap: wrap;
  align-content: center;
  align-items: center;
  gap: 6px;
  min-width: 0;
  min-height: 30px;
  padding: 1px 0;
  display: flex;
  overflow: visible;
}

.adminTimesheetDetailAttentionIssue {
  box-sizing: border-box;
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 22%);
  background: color-mix(in srgb, var(--bg), var(--bg-2) 35%);
  max-width: 100%;
  min-height: 28px;
  color: color-mix(in srgb, var(--fg), white 8%);
  white-space: nowrap;
  border-radius: 999px;
  flex: 0 auto;
  align-items: center;
  gap: 6px;
  padding: 0 8px;
  font-size: 11.5px;
  font-weight: 720;
  line-height: 1.1;
  display: inline-flex;
  overflow: hidden;
}

.adminTimesheetDetailAttentionIssue + .adminTimesheetDetailAttentionIssue, .adminTimesheetDetailAttentionIssue + .adminTimesheetDetailShowIssuesButton {
  border-left: 0;
  margin-left: 0;
  padding-left: 0;
}

.adminTimesheetDetailAttentionIssue svg {
  stroke-width: 2.2px;
  flex: none;
  width: 14px;
  height: 14px;
}

.adminTimesheetDetailAttentionIssue > span {
  text-overflow: ellipsis;
  min-width: 0;
  line-height: 1.1;
  display: block;
  overflow: hidden;
}

.adminTimesheetDetailAttentionIssue strong {
  min-width: 18px;
  height: 18px;
  color: color-mix(in srgb, var(--fg), black 8%);
  background: color-mix(in srgb, var(--stroke), white 58%);
  border-radius: 999px;
  flex: none;
  place-items: center;
  padding: 0 4px;
  font-size: 11px;
  font-weight: 820;
  line-height: 1;
  display: inline-grid;
}

.adminTimesheetDetailAttentionIssue.isDanger {
  border-color: color-mix(in srgb, var(--timesheet-status-red-border), transparent 14%);
  background: color-mix(in srgb, var(--timesheet-status-red-bg), white 36%);
  color: var(--timesheet-status-red-text);
}

.adminTimesheetDetailAttentionIssue.isDanger svg {
  color: var(--timesheet-status-red);
}

.adminTimesheetDetailAttentionIssue.isDanger strong {
  color: var(--timesheet-status-red-text);
  background: color-mix(in srgb, var(--timesheet-status-red-border), white 62%);
}

.adminTimesheetDetailAttentionIssue.isReport {
  border-color: color-mix(in srgb, var(--timesheet-status-amber-border), transparent 18%);
  background: color-mix(in srgb, var(--timesheet-status-amber-bg), white 46%);
  color: var(--timesheet-status-amber-text);
}

.adminTimesheetDetailAttentionIssue.isReport svg {
  color: var(--timesheet-status-amber);
}

.adminTimesheetDetailAttentionIssue.isReport strong {
  color: var(--timesheet-status-amber-text);
  background: color-mix(in srgb, var(--timesheet-status-amber-border), white 58%);
}

.adminTimesheetDetailAttentionIssue.isReview {
  border-color: color-mix(in srgb, var(--timesheet-status-amber-border), transparent 18%);
  background: color-mix(in srgb, var(--timesheet-status-amber-bg), white 46%);
  color: var(--timesheet-status-amber-text);
}

.adminTimesheetDetailAttentionIssue.isReview svg {
  color: var(--timesheet-status-amber-text);
}

.adminTimesheetDetailAttentionIssue.isReview strong {
  color: var(--timesheet-status-amber-text);
  background: color-mix(in srgb, var(--timesheet-status-amber-border), white 58%);
}

.adminTimesheetDetailAttentionIssue.isOk {
  color: var(--timesheet-status-green-text);
  border-color: var(--timesheet-status-green-border);
  background: var(--timesheet-status-green-bg);
}

.adminTimesheetDetailShowIssuesButton {
  min-height: 30px;
  color: var(--timesheet-status-blue-text);
  font: inherit;
  white-space: nowrap;
  cursor: pointer;
  background: none;
  border: 0;
  flex: none;
  align-items: center;
  padding: 0 2px;
  font-size: 12.5px;
  font-weight: 780;
  line-height: 1;
  display: inline-flex;
}

.adminTimesheetDetailShowIssuesButton:hover {
  color: color-mix(in srgb, var(--timesheet-status-blue-text), black 14%);
  text-decoration: underline;
}

.adminTimesheetDetailShowIssuesButton:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 20%);
  outline-offset: 2px;
  border-radius: 6px;
}

.adminTimesheetDetailDocumentStatus {
  min-width: 0;
  color: color-mix(in srgb, var(--muted), var(--fg) 18%);
  align-items: center;
  gap: 9px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
  display: inline-flex;
}

.adminTimesheetDetailDocumentStatus.isSigned {
  color: var(--timesheet-status-green-text);
}

@media (max-width: 1280px) {
  .adminTimesheetDetailWorkbenchBar {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }

  .adminTimesheetDetailActions {
    justify-content: flex-start;
  }

  .adminTimesheetDetailReviewStrip {
    grid-template-columns: minmax(0, 1fr) minmax(260px, .86fr);
  }

  .adminTimesheetDetailProgressPanel {
    border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  }

  .adminTimesheetDetailAttentionPanel {
    border-right: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  }

  .adminTimesheetDetailDocumentPanel {
    grid-column: 1 / -1;
    padding-block: 12px;
  }
}

@media (max-width: 1040px) {
  .adminTimesheetDetailReviewStrip {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminTimesheetDetailProgressPanel, .adminTimesheetDetailAttentionPanel {
    border-right: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  }

  .adminTimesheetDetailDocumentPanel {
    grid-column: auto;
  }
}

@media (max-width: 760px) {
  .adminTimesheetDetailTitle {
    font-size: clamp(24px, 7vw, 30px);
  }

  .adminTimesheetDetailActions, .adminTimesheetDetailActions .btn {
    width: 100%;
  }

  .adminTimesheetDetailActions .btn {
    justify-content: center;
  }

  .adminTimesheetDetailActions .adminUsersMenuWrap {
    margin-left: auto;
  }
}

@media (max-width: 560px) {
  .adminTimesheetDetailProgressContent {
    gap: 10px;
  }

  .adminTimesheetDetailTimeCoverage {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px 10px;
  }

  .adminTimesheetDetailTimeCoverageDays, .adminTimesheetDetailTimeCoverage .adminTimesheetDetailProgressTrack {
    grid-column: 1 / -1;
  }

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

  .adminTimesheetDetailReportCoverageTrack {
    grid-column: 1 / -1;
  }

  .adminTimesheetDetailReportCoverageHours {
    justify-self: end;
  }
}

.adminTimesheetDocumentDialogCard {
  width: min(520px, 100%);
}

.adminTimesheetDocumentDialogBody {
  gap: 16px;
  display: grid;
}

.adminTimesheetDocumentDialogHeader {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.adminTimesheetDocumentDialogContext {
  margin: 4px 0 0;
}

.adminTimesheetDocumentDialogCloseBtn {
  width: 44px;
  min-width: 44px;
  height: 44px;
  padding: 0;
}

.adminTimesheetDocumentDialogActions .btnAction {
  justify-content: center;
  align-items: center;
  gap: 7px;
  display: inline-flex;
}

.adminTimesheetReissueReasonInput {
  resize: vertical;
  min-height: 112px;
  line-height: 1.35;
}

.adminTimesheetDayHeaderRow {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.adminTimesheetDayRoutePage {
  gap: 18px;
  display: grid;
}

.adminTimesheetDayPageHeader {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px 16px;
  width: min(100%, 980px);
  margin-inline: auto;
  display: grid;
}

.adminTimesheetDayPageTitle {
  min-width: 0;
  color: color-mix(in srgb, var(--fg), black 10%);
  letter-spacing: 0;
  margin: 0;
  font-size: clamp(24px, 2.3vw, 32px);
  font-weight: 800;
  line-height: 1.1;
}

.adminTimesheetDayEditorCard {
  width: min(100%, 980px);
  margin-inline: auto;
}

.adminTimesheetDayEditorMetaRow {
  align-items: center;
  padding-bottom: 2px;
}

.adminTimesheetDayEditorWorkerMeta {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 10px;
  min-width: 0;
  display: inline-flex;
}

.dayEditorPageCard {
  background: #fff;
}

.dayEditorPageCardAbsence {
  width: min(100%, 980px);
  margin-inline: auto;
}

.dayEditorCardBody {
  gap: 12px;
  display: grid;
}

.dayEditorMainColumnAbsence {
  width: 100%;
  margin-inline: 0;
}

.dayEditorMainColumn, .dayEditorTopMain {
  min-width: 0;
}

.dayEditorMainColumnStack, .dayEditorTopMain, .dayEditorDayTypeField, .dayEditorWorkEntryControls, .dayEditorTimeclockReviewSection, .dayEditorTimeclockReviewList, .dayEditorTopSection {
  gap: 10px;
  display: grid;
}

.dayEditorModeSwitch {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  max-width: 372px;
  display: grid;
}

.dayEditorModeBtn {
  min-width: 0;
  min-height: 44px;
}

.dayEditorModeBtn.isActive {
  border-color: color-mix(in srgb, var(--focus), transparent 50%);
  background: color-mix(in srgb, var(--focus), white 94%);
  color: color-mix(in srgb, var(--focus), black 12%);
}

.dayEditorSectionTitle {
  color: var(--fg);
  font-weight: 800;
}

.dayEditorSectionTitleRow {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: inline-flex;
}

.dayEditorHintText, .dayEditorRowError {
  font-size: 12px;
}

.dayEditorAbsenceField {
  border: 0;
  gap: 8px;
  min-width: 0;
  max-width: none;
  margin: 0;
  padding: 0;
  display: grid;
}

.dayEditorAbsenceOptionGrid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 8px;
  display: grid;
}

.dayEditorAbsenceOption {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  background: var(--bg);
  min-height: 48px;
  color: var(--fg);
  cursor: pointer;
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  transition: background-color .15s, border-color .15s, box-shadow .15s;
  display: flex;
  position: relative;
}

.dayEditorAbsenceOption:hover {
  border-color: color-mix(in srgb, var(--focus), transparent 55%);
  background: color-mix(in srgb, var(--focus), white 97%);
}

.dayEditorAbsenceOption--absence {
  --day-editor-family-fill: var(--calendar-absence-fill);
  --day-editor-family-border: var(--calendar-absence-border);
  --day-editor-family-text: var(--calendar-absence-text);
}

.dayEditorAbsenceOption--dayOff {
  --day-editor-family-fill: var(--calendar-day-off-fill);
  --day-editor-family-border: var(--calendar-day-off-border);
  --day-editor-family-text: var(--calendar-day-off-text);
}

.dayEditorAbsenceOption--holiday {
  --day-editor-family-fill: var(--calendar-holiday-fill);
  --day-editor-family-border: var(--calendar-holiday-border);
  --day-editor-family-text: var(--calendar-holiday-text);
}

.dayEditorAbsenceOption.isSelected {
  border-color: var(--day-editor-family-border, color-mix(in srgb, var(--focus), transparent 28%));
  background: var(--day-editor-family-fill, color-mix(in srgb, var(--focus), white 94%));
  color: var(--day-editor-family-text, var(--fg));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--day-editor-family-border, var(--focus)), transparent 70%);
}

.dayEditorAbsenceOptionInput {
  opacity: 0;
  cursor: pointer;
  width: 100%;
  height: 100%;
  margin: 0;
  position: absolute;
  inset: 0;
}

.dayEditorAbsenceOptionInput:disabled {
  cursor: not-allowed;
}

.dayEditorAbsenceOption:focus-within {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 35%);
  outline-offset: 2px;
}

.dayEditorAbsenceOptionLabel {
  min-width: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
}

.dayEditorAbsenceOptionCheck {
  color: currentColor;
  opacity: 0;
  flex: none;
  font-size: 14px;
  font-weight: 900;
}

.dayEditorAbsenceOption.isSelected .dayEditorAbsenceOptionCheck {
  opacity: 1;
}

.dayEditorAbsenceNotesField, .adminTimesheetAbsenceNotesRow {
  max-width: none;
}

.dayEditorAbsenceNotes {
  resize: vertical;
  min-height: 92px;
}

.dayEditorTotalInfoRow {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: color-mix(in srgb, var(--bg-2), white 54%);
  border-radius: var(--radius);
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  min-height: 36px;
  padding: 7px 10px;
  display: flex;
}

.dayEditorTotalInfoLabel {
  font-size: 13px;
}

.dayEditorTotalInfoValue {
  color: color-mix(in srgb, var(--muted), var(--fg) 12%);
}

.dayEditorSecondaryActionBtn {
  color: #2156c8;
  background: #e5ecfd;
  border-color: #4c7fef;
  width: 100%;
  min-height: 44px;
  font-weight: 800;
}

.dayEditorSecondaryActionBtn:hover {
  background: #d8e3fb;
  border-color: #2563eb;
}

.dayEditorTimeclockReviewHeader, .dayEditorTimeclockReviewRowPrimary {
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.dayEditorTimeclockReviewMeta, .dayEditorTimeclockReviewRowSecondary, .dayEditorWorkEntryLead, .dayEditorTemplateHint {
  font-size: 13px;
}

.dayEditorTimeclockReviewRow {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  background: color-mix(in srgb, var(--bg-2), white 58%);
  border-radius: 10px;
  gap: 6px;
  padding: 10px 12px;
  display: grid;
}

.dayEditorTimeclockReviewRowValue {
  white-space: nowrap;
}

.dayEditorWorkHoursSection {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  gap: 10px;
  margin-top: 4px;
  padding-top: 16px;
  display: grid;
}

.dayEditorWorkEntryHeader {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  display: grid;
}

.dayEditorWorkEntryLead {
  margin: 4px 0 0;
  line-height: 1.4;
}

.dayEditorTemplateField {
  margin-top: 8px;
}

.dayEditorTemplateField .labelRow {
  margin-bottom: 4px;
}

.dayEditorTemplateField .label {
  color: var(--muted);
  letter-spacing: .04em;
  font-size: 12px;
  font-weight: 700;
}

.dayEditorIntervalLabels, .dayEditorIntervalRow {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 10px;
  display: grid;
}

.dayEditorIntervalLabels {
  color: var(--muted);
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: -4px;
  font-size: 11px;
  font-weight: 700;
}

.dayEditorIntervalRow {
  align-items: start;
}

.dayEditorIntervalRemove {
  width: 44px;
  min-width: 44px;
  min-height: 44px;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.dayEditorAddInterval {
  width: 100%;
  min-height: 44px;
}

.dayEditorFooterActions {
  align-items: center;
  gap: 10px;
  display: inline-flex;
}

@media (min-width: 761px) {
  .dayEditorTopSection {
    grid-template-columns: minmax(0, 1fr) minmax(228px, 280px);
    align-items: start;
    gap: 10px 16px;
  }

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

  .dayEditorWorkEntryHeader {
    grid-template-columns: minmax(0, 1fr) minmax(228px, 280px);
    column-gap: 16px;
  }

  .dayEditorWorkEntryControls {
    justify-self: end;
    width: min(100%, 280px);
  }
}

.adminTimesheetEditorTopRow {
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  display: grid;
}

.adminTimesheetWorkToolbarLead {
  align-content: center;
}

.adminTimesheetModeSwitch {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  max-width: 460px;
  display: grid;
}

.adminTimesheetModeBtn {
  min-height: 48px;
  font-weight: 800;
}

.adminTimesheetModeBtn.isActive {
  border-color: color-mix(in srgb, var(--focus), transparent 45%);
  background: color-mix(in srgb, var(--focus), white 92%);
  color: color-mix(in srgb, var(--focus), black 12%);
}

.adminTimesheetHintText {
  max-width: 620px;
  font-size: 13px;
}

.adminTimesheetEditorTopHelpers {
  align-self: start;
  gap: 8px;
  display: grid;
}

.adminTimesheetTotalInfoRow {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: color-mix(in srgb, var(--bg-2), white 54%);
  border-radius: var(--radius);
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 8px 12px;
  display: flex;
}

.adminTimesheetTotalInfoValues {
  justify-items: end;
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminTimesheetEnteredTotal {
  font-size: 12px;
  line-height: 1.15;
}

.adminTimesheetCopyYesterdayBtn {
  width: 100%;
  min-height: 44px;
}

.adminTimesheetNormalizationSection {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 72%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--focus), white 96%);
  padding: 12px;
}

.adminTimesheetNormalizationSection.isDisabled {
  border-color: color-mix(in srgb, var(--stroke), transparent 8%);
  background: color-mix(in srgb, var(--bg-2), white 60%);
}

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

.adminTimesheetNormalizationFlow {
  color: color-mix(in srgb, var(--muted), var(--fg) 18%);
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  font-size: 14px;
  display: flex;
}

.adminTimesheetNormalizationSwitch {
  cursor: pointer;
  min-height: 44px;
  color: var(--fg);
  white-space: nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  display: inline-flex;
}

.adminTimesheetNormalizationSwitch input {
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

.adminTimesheetNormalizationSwitchTrack {
  background: color-mix(in srgb, var(--stroke), white 32%);
  border-radius: 999px;
  align-items: center;
  width: 42px;
  height: 24px;
  transition: background-color .15s, box-shadow .15s;
  display: inline-flex;
  position: relative;
}

.adminTimesheetNormalizationSwitchTrack span {
  background: #fff;
  border-radius: 999px;
  width: 18px;
  height: 18px;
  margin-left: 3px;
  transition: transform .15s;
  box-shadow: 0 1px 3px #0f172a40;
}

.adminTimesheetNormalizationSwitch.isChecked .adminTimesheetNormalizationSwitchTrack {
  background: #2563eb;
}

.adminTimesheetNormalizationSwitch.isChecked .adminTimesheetNormalizationSwitchTrack span {
  transform: translateX(18px);
}

.adminTimesheetNormalizationSwitch:focus-within .adminTimesheetNormalizationSwitchTrack {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus), transparent 70%);
}

.adminTimesheetNormalizationSwitch.isDisabled {
  cursor: not-allowed;
  color: var(--muted);
}

.adminTimesheetNormalizationSwitch.isDisabled .adminTimesheetNormalizationSwitchTrack {
  opacity: .55;
}

.adminTimesheetNormalizationHint {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.4;
}

.adminTimesheetCorrectionEvidenceSection, .adminTimesheetLatestCorrectionSection {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  padding-top: 14px;
}

.adminTimesheetCorrectionEvidenceHeader {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 8px;
  display: flex;
}

.adminTimesheetCorrectionEvidenceList {
  gap: 8px;
  display: grid;
}

.adminTimesheetCorrectionEvidenceRow {
  min-height: 48px;
}

.adminTimesheetCorrectionEvidenceTime {
  font-size: 15px;
  line-height: 1.2;
}

.adminTimesheetCorrectionEvidenceSite {
  margin-top: 4px;
  font-size: 13px;
}

.adminTimesheetIntervalRow {
  margin-bottom: 10px;
}

.adminTimesheetIntervalRemoveBtn {
  width: 44px;
  min-width: 44px;
  min-height: 44px;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.adminTimesheetIntervalError {
  color: color-mix(in srgb, var(--danger), black 10%);
  grid-column: 1 / -1;
}

.adminTimesheetReasonField {
  width: 100%;
  max-width: none;
}

.adminTimesheetReasonInput {
  width: 100%;
}

.adminTimesheetAddIntervalBtn {
  width: 100%;
  min-height: 44px;
}

.adminTimesheetReasonError {
  color: color-mix(in srgb, var(--danger), black 12%);
  margin-top: 6px;
}

.adminTimesheetEditorActions {
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  width: 100%;
  display: inline-flex;
}

@media (min-width: 900px) {
  .adminTimesheetAbsenceField .dayEditorAbsenceOptionGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .adminTimesheetDayRoutePage {
    gap: 12px;
  }

  .adminTimesheetDayPageHeader {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    width: 100%;
  }

  .adminTimesheetDayPageHeader > .adminOperationsEntityHeading {
    order: 2;
  }

  .adminTimesheetDayPageTitle {
    font-size: clamp(20px, 6vw, 24px);
    line-height: 1.14;
  }

  .adminTimesheetDayEditorCard {
    width: 100%;
  }

  .dayEditorIntervalLabels {
    display: none;
  }

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

  .dayEditorIntervalRow .listbox:nth-child(2) {
    grid-column: 1 / 2;
  }

  .dayEditorIntervalRemove {
    grid-area: 1 / 2 / 3 / 3;
  }
}

.adminTimesheetStatusChip {
  align-self: flex-start;
  width: fit-content;
  min-width: 0;
}

.adminOperationsReadOnlyTimesheetPage .timesheetDayEditorShell {
  border-color: color-mix(in srgb, var(--focus), transparent 72%);
}

.adminTimesheetMonthWeekdaysRow {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 8px;
  display: grid;
}

.adminTimesheetMonthWeekday {
  text-align: center;
  letter-spacing: .02em;
  font-size: 13px;
}

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

.adminTimesheetMonthDayLink {
  appearance: none;
  width: 100%;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  touch-action: manipulation;
  border-style: solid;
  border-width: 1px;
  min-height: 74px;
  text-decoration: none;
}

.adminTimesheetDetailCalendarBody .adminTimesheetMonthDayLink {
  min-height: 88px;
}

.adminTimesheetDetailCalendarBody .adminTimesheetMonthDayLink .timesheetCellContent {
  min-height: 86px;
}

.adminTimesheetMonthDayLink--worked {
  color: var(--calendar-worked-text);
  background: var(--calendar-worked-fill);
  border-color: var(--calendar-worked-border);
}

.adminTimesheetMonthDayLink--attention {
  color: var(--calendar-attention-text);
  background: var(--calendar-attention-fill);
  border-color: var(--calendar-attention-border);
}

.adminTimesheetMonthDayLink--missing {
  color: var(--calendar-missing-text);
  background: var(--calendar-missing-fill);
  border-color: var(--calendar-missing-border);
}

.adminTimesheetMonthDayLink--missingLocked {
  color: var(--calendar-missing-text);
  background: repeating-linear-gradient(135deg,
      transparent 0,
      transparent 9px,
      var(--calendar-readonly-stripe) 9px,
      var(--calendar-readonly-stripe) 10px),
    var(--calendar-missing-fill);
  border-color: var(--calendar-missing-border);
}

.adminTimesheetMonthDayLink--missing .timesheetCellDayNum, .adminTimesheetMonthDayLink--missingLocked .timesheetCellDayNum {
  color: var(--calendar-missing-text);
}

.adminTimesheetMonthDayLink--holiday {
  color: var(--calendar-holiday-text);
  background: repeating-linear-gradient(135deg,
      transparent 0,
      transparent 9px,
      var(--calendar-readonly-stripe) 9px,
      var(--calendar-readonly-stripe) 10px),
    var(--calendar-holiday-fill);
  border-color: var(--calendar-holiday-border);
}

.adminTimesheetMonthDayLink--dayOff {
  color: var(--calendar-day-off-text);
  background: var(--calendar-day-off-fill);
  border-color: var(--calendar-day-off-border);
}

.adminTimesheetMonthDayLink--absence {
  color: var(--calendar-absence-text);
  background: var(--calendar-absence-fill);
  border-color: var(--calendar-absence-border);
}

.adminTimesheetMonthDayLink--weekend {
  color: var(--calendar-weekend-text);
  background: var(--calendar-weekend-fill);
  border-color: var(--calendar-weekend-border);
}

.adminTimesheetMonthDayLink--readonly {
  color: var(--calendar-readonly-text);
  background: repeating-linear-gradient(135deg,
      transparent 0,
      transparent 9px,
      var(--calendar-readonly-stripe) 9px,
      var(--calendar-readonly-stripe) 10px),
    var(--calendar-readonly-fill);
  border-color: var(--calendar-readonly-border);
}

.adminTimesheetMonthDayLink--empty {
  color: var(--calendar-blank-text);
  background: var(--calendar-blank-fill);
  border-color: var(--calendar-blank-border);
}

.adminTimesheetMonthDayLink.isSelected {
  outline: 2px solid color-mix(in srgb, var(--focus), transparent 18%);
  outline-offset: 2px;
}

.adminTimesheetMonthDayLink .timesheetCellHint {
  color: currentColor;
  letter-spacing: .02em;
  white-space: nowrap;
  text-overflow: ellipsis;
  align-items: center;
  gap: 4px;
  max-width: min(75%, 14ch);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.15;
  display: inline-flex;
  overflow: hidden;
}

.adminTimesheetMonthDayLink .timesheetCellHint > span {
  text-overflow: ellipsis;
  min-width: 0;
  overflow: hidden;
}

.adminTimesheetMonthDayLink--attention .timesheetCellHint, .adminTimesheetMonthDayLink--readonly .timesheetCellHint, .adminTimesheetMonthDayLink--missingLocked .timesheetCellHint, .adminTimesheetMonthDayLink--missing .timesheetCellHint {
  width: 100%;
  max-width: 100%;
}

.adminTimesheetMonthDayChevron {
  flex: none;
  margin-left: auto;
}

.adminTimesheetMonthDayLink .timesheetCellContent {
  grid-template-rows: auto 1fr;
  gap: 8px;
  min-height: 72px;
  padding: 10px;
  display: grid;
}

.adminTimesheetMonthDayLink .timesheetCellHeader {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: flex-start;
  column-gap: 4px;
  display: grid;
  overflow: hidden;
}

.adminTimesheetMonthDayLink .timesheetCellDayNum {
  color: color-mix(in srgb, var(--calendar-neutral-text), var(--fg) 16%);
  font-size: 13px;
  line-height: 1;
}

.adminTimesheetMonthDayLink .timesheetCellHours {
  white-space: nowrap;
  text-align: right;
  font-size: 12px;
  line-height: 1;
}

.adminTimesheetMonthDayLink .timesheetCellHint, .adminTimesheetMonthDayLink .timesheetCellHintSpacer {
  align-self: end;
}

.adminTimesheetLegendGroups {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(160px, .6fr);
  gap: 14px 22px;
  margin-top: 10px;
  display: grid;
}

.adminTimesheetLegendGroup {
  align-content: start;
  gap: 7px;
  min-width: 0;
  display: grid;
}

.adminTimesheetLegendGroupTitle {
  color: color-mix(in srgb, var(--fg), white 28%);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.1;
}

.adminTimesheetLegend {
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 9px 16px;
  display: flex;
}

.adminTimesheetLegendItem {
  color: color-mix(in srgb, var(--fg), white 28%);
  align-items: center;
  gap: 8px;
  font-size: 13px;
  display: inline-flex;
}

.adminTimesheetLegendSwatch {
  border: 1px solid var(--stroke);
  background: var(--bg-2);
  border-radius: 2px;
  width: 12px;
  height: 12px;
}

.adminTimesheetLegendSwatchWorked {
  background: var(--calendar-worked-fill);
  border-color: var(--calendar-worked-border);
}

.adminTimesheetLegendSwatchAttention {
  background: var(--calendar-attention-fill);
  border-color: var(--calendar-attention-border);
}

.adminTimesheetLegendSwatchAbsence {
  background: var(--calendar-absence-base);
  border-color: var(--calendar-absence-border);
}

.adminTimesheetLegendSwatchDayOff {
  background: var(--calendar-day-off-base);
  border-color: var(--calendar-day-off-border);
}

.adminTimesheetLegendSwatchMissing {
  background: var(--calendar-missing-fill);
  border-color: var(--calendar-missing-border);
}

.adminTimesheetLegendSwatchHoliday {
  background: var(--calendar-holiday-base);
  border-color: var(--calendar-holiday-border);
}

.adminTimesheetLegendSwatchWeekend {
  background: var(--calendar-weekend-fill);
  border-color: var(--calendar-weekend-border);
}

.adminTimesheetLegendSwatchReadOnly {
  background: repeating-linear-gradient(135deg,
      transparent 0,
      transparent 4px,
      var(--calendar-readonly-stripe) 4px,
      var(--calendar-readonly-stripe) 5px),
    var(--calendar-readonly-fill);
  border-color: var(--calendar-readonly-border);
}

.adminTimesheetDayReviewBackdrop {
  z-index: 70;
  background: #0f172a47;
  justify-content: flex-end;
  display: flex;
  position: fixed;
  inset: 0;
}

.adminTimesheetDayReviewSheet {
  border-top: 0;
  border-bottom: 0;
  border-right: 0;
  border-radius: 0;
  width: min(520px, 100vw);
  min-height: 100vh;
  max-height: 100vh;
  overflow: auto;
}

.adminTimesheetDayReviewBody {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.adminTimesheetDayReviewHeader {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.adminTimesheetDayReviewHeading {
  margin: 3px 0 0;
  font-size: 21px;
  line-height: 1.2;
}

.adminTimesheetDayReviewHero {
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  gap: 6px;
  padding: 12px 14px;
  display: grid;
}

.adminTimesheetDayReviewHero--worked {
  background: var(--calendar-worked-fill);
  border-color: var(--calendar-worked-border);
  color: var(--calendar-worked-text);
}

.adminTimesheetDayReviewHero--attention {
  background: var(--calendar-attention-fill);
  border-color: var(--calendar-attention-border);
  color: var(--calendar-attention-text);
}

.adminTimesheetDayReviewHero--missing, .adminTimesheetDayReviewHero--missingLocked {
  background: var(--calendar-missing-fill);
  border-color: var(--calendar-missing-border);
  color: var(--calendar-missing-text);
}

.adminTimesheetDayReviewHero--holiday {
  background: var(--calendar-holiday-fill);
  border-color: var(--calendar-holiday-border);
  color: var(--calendar-holiday-text);
}

.adminTimesheetDayReviewHero--dayOff {
  background: var(--calendar-day-off-fill);
  border-color: var(--calendar-day-off-border);
  color: var(--calendar-day-off-text);
}

.adminTimesheetDayReviewHero--absence {
  background: var(--calendar-absence-fill);
  border-color: var(--calendar-absence-border);
  color: var(--calendar-absence-text);
}

.adminTimesheetDayReviewHero--weekend, .adminTimesheetDayReviewHero--readonly, .adminTimesheetDayReviewHero--empty {
  background: var(--calendar-weekend-fill);
  border-color: var(--calendar-weekend-border);
  color: var(--calendar-weekend-text);
}

.adminTimesheetDayReviewSection {
  gap: 10px;
  display: grid;
}

.adminTimesheetDayReviewSectionHeader {
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  display: flex;
}

.adminTimesheetDayReviewSectionTitle {
  font-weight: 700;
}

.adminTimesheetDayReviewRows {
  border-top: 1px solid var(--stroke);
}

.adminTimesheetDayReviewRow {
  border-bottom: 1px solid var(--stroke);
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 9px 0;
  display: flex;
}

.adminTimesheetDayReviewReasonRow {
  align-items: flex-start;
}

.adminTimesheetDayReviewReasonRow strong {
  text-align: right;
  overflow-wrap: anywhere;
  white-space: normal;
  max-width: min(520px, 62%);
}

.adminTimesheetDayReviewActions {
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
  display: flex;
}

.adminTimesheetDayReviewActionBtn {
  width: fit-content;
  min-height: 44px;
}

.adminTimesheetDayReviewCards {
  gap: 8px;
  display: grid;
}

.adminTimesheetDayReviewInterval, .adminTimesheetDayReviewReport {
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  background: #fff;
  gap: 5px;
  padding: 10px 12px;
  display: grid;
}

.adminTimesheetDayReviewReport {
  color: inherit;
  text-decoration: none;
}

.adminTimesheetDayReviewIntervalTop, .adminTimesheetDayReviewReport {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
}

.adminTimesheetDayReviewReport .mono {
  grid-column: 1 / -1;
  justify-self: end;
}

.adminTimesheetDayReviewIntervalTop {
  justify-content: space-between;
  gap: 10px;
  display: flex;
}

.adminTimesheetDayReviewIntervalSite {
  overflow-wrap: anywhere;
}

.adminTimesheetDayReviewReportNote {
  border-radius: var(--radius);
  color: #8a4f1d;
  background: #fcf5ec;
  border: 1px solid #d9a66b;
  padding: 10px 12px;
  font-weight: 700;
}

.adminTimesheetElectiveAllowanceWarning {
  border: 1px solid color-mix(in srgb, var(--warning), transparent 42%);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--warning), white 92%);
  color: color-mix(in srgb, var(--warning), black 34%);
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
}

.adminTimesheetDayReviewEmpty {
  margin: 0;
}

.adminTimesheetReportCreateReadOnlyField {
  color: var(--muted);
  cursor: default;
  -webkit-user-select: none;
  user-select: none;
  align-items: center;
  display: flex;
}

.adminTimesheetReportCreatePage {
  width: min(100%, 980px);
  margin-inline: auto;
}

.adminTimesheetReportCreatePage .cardBody {
  gap: 12px;
}

.adminTimesheetReportCreateContextGrid {
  grid-template-columns: minmax(180px, .8fr) minmax(180px, .8fr) minmax(280px, 1.8fr);
}

.adminTimesheetReportCreateUserField {
  color: var(--fg);
  justify-content: space-between;
  gap: 8px;
}

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

.adminTimesheetReportCreateUserField .mono {
  flex: none;
}

.adminTimesheetReportCreatePage .reportWorkerTaskHeaderRow, .adminTimesheetReportCreatePage .reportWorkerTaskRow, .adminTimesheetReportCreatePage .reportWorkerTotalRow {
  grid-template-columns: minmax(0, 1fr) 172px 44px;
}

.adminTimesheetReportCreatePage .reportWorkerTaskHoursField {
  grid-template-columns: 38px minmax(0, 1fr) 38px;
}

@media (min-width: 900px) {
  .adminTimesheetEditorTopRow {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
    align-items: start;
  }
}

@media (max-width: 720px) {
  .adminTimesheetDayReviewBackdrop {
    justify-content: stretch;
    align-items: flex-end;
  }

  .adminTimesheetDayReviewSheet {
    border-radius: var(--radius) var(--radius) 0 0;
    border-left: 1px solid var(--stroke);
    width: 100vw;
    min-height: auto;
    max-height: 85vh;
  }

  .adminTimesheetDayReviewSectionHeader {
    align-items: flex-start;
  }

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

  .adminTimesheetReportCreatePage .reportWorkerTaskHeaderRow, .adminTimesheetReportCreatePage .reportWorkerTaskRow, .adminTimesheetReportCreatePage .reportWorkerTotalRow {
    grid-template-columns: minmax(0, 1fr) 168px 44px;
  }

  .adminTimesheetReportCreatePage .reportWorkerTaskHoursField {
    grid-template-columns: 44px minmax(0, 1fr) 44px;
  }
}

.adminDocumentsPage, .adminDocumentsDetailPage {
  gap: 16px;
}

.adminDocumentsSummaryStrip {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: var(--surface);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  display: grid;
  overflow: hidden;
}

.adminDocumentsSummaryMetric {
  border: 0;
  border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  min-width: 0;
  min-height: 72px;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border-radius: 0;
  align-content: center;
  gap: 5px;
  padding: 12px 18px;
  transition: background-color .14s, box-shadow .14s;
  display: grid;
}

.adminDocumentsSummaryMetric:first-child {
  border-left: 0;
}

.adminDocumentsSummaryMetric:hover {
  background: color-mix(in srgb, var(--focus), white 97%);
}

.adminDocumentsSummaryMetric:focus-visible {
  z-index: 1;
  outline: 2px solid var(--focus);
  outline-offset: -3px;
  position: relative;
}

.adminDocumentsSummaryMetric.isActive {
  background: color-mix(in srgb, var(--focus), white 95%);
  box-shadow: inset 0 -3px 0 var(--focus);
}

.adminDocumentsSummaryMetricLabel, .adminDocumentsSummaryMetricDetail {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.25;
  display: block;
}

.adminDocumentsSummaryMetricLabel {
  font-weight: 720;
}

.adminDocumentsSummaryMetricReading {
  align-items: baseline;
  gap: 9px;
  min-width: 0;
  display: flex;
}

.adminDocumentsSummaryMetricValue {
  color: var(--fg);
  font-variant-numeric: tabular-nums;
  flex: none;
  font-size: 22px;
  font-weight: 820;
  line-height: 1.1;
}

.adminDocumentsSummaryMetricDetail {
  min-width: 0;
}

.adminDocumentsToolbar, .adminDocumentsComposerCard, .adminDocumentsListCard, .adminDocumentsPreviewCard, .adminDocumentsInfoCard, .adminDocumentsRecipientsCard, .adminDocumentsTimelineCard {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

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

.adminDocumentsSendPage {
  width: 100%;
  max-width: none;
}

.adminDocumentsSendLayout {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 336px);
  align-items: start;
  gap: 16px;
  display: grid;
}

.adminDocumentsSendFormCard, .adminDocumentsSendSummaryCard, .adminDocumentsDifferentMainCard, .adminDocumentsDifferentSummaryCard {
  min-width: 0;
}

.adminDocumentsSendComposerCard {
  padding: 16px;
}

.adminDocumentsSendIntro {
  border-bottom: 1px solid var(--stroke);
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 14px;
  display: flex;
}

.adminDocumentsSendIntro h2 {
  margin: 2px 0 4px;
  font-size: 18px;
}

.adminDocumentsSendIntro p {
  max-width: 760px;
  font-size: var(--ops-font-primary, 13px);
  line-height: 1.35;
}

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

.adminDocumentsSendComposerCard .adminDocumentsComposerGrid > .field:first-child {
  grid-column: 1 / -1;
}

.adminDocumentsComposer {
  gap: 12px;
  display: grid;
}

.adminDocumentsSendModeSelector {
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  gap: 10px;
  margin: 0;
  padding: 0 0 14px;
  display: grid;
}

.adminDocumentsSendModeSelector legend {
  font-size: var(--ops-font-primary, 13px);
  margin: 0 0 2px;
  padding: 0;
  font-weight: 850;
}

.adminDocumentsSendModeOptions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 10px;
  display: grid;
}

.adminDocumentsSendModeOption {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  cursor: pointer;
  background: #fff;
  border-radius: 10px;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  height: 100%;
  min-height: 58px;
  padding: 11px 12px;
  display: grid;
}

.adminDocumentsSendModeOption.isSelected {
  border-color: color-mix(in srgb, var(--focus), transparent 34%);
  background: color-mix(in srgb, var(--focus), white 96%);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--focus), transparent 72%);
}

.adminDocumentsSendModeOption input {
  width: 18px;
  height: 18px;
  accent-color: var(--focus);
  margin: 2px 0 0;
}

.adminDocumentsSendModeOption > span {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.adminDocumentsSendModeOption strong {
  font-size: var(--ops-font-primary, 13px);
  line-height: 1.25;
}

.adminDocumentsSendModeOption span span {
  color: var(--muted);
  font-size: var(--ops-font-meta, 12px);
  line-height: 1.35;
}

.adminDocumentsSendSection {
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  box-shadow: none;
  background: none;
  gap: 14px;
  padding: 17px 0 0;
  display: grid;
}

.adminDocumentsSendSection:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.adminDocumentsSendSectionHead {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  display: grid;
}

.adminDocumentsSendSectionHead h3 {
  font-size: var(--ops-font-primary, 13px);
  margin: 0 0 3px;
  font-weight: 800;
  line-height: 1.2;
}

.adminDocumentsSendSectionHead p {
  font-size: var(--ops-font-primary, 13px);
  margin: 0;
  line-height: 1.35;
}

.adminDocumentsSendStep {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 36%);
  background: color-mix(in srgb, var(--focus), white 92%);
  width: 24px;
  height: 24px;
  color: color-mix(in srgb, var(--focus), black 18%);
  font-size: var(--ops-font-micro, 11px);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  font-weight: 800;
  display: inline-flex;
}

.adminDocumentsRequiredMark {
  color: var(--danger);
  margin-left: 4px;
}

.adminDocumentsRequiredActionNotice {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 62%);
  background: color-mix(in srgb, var(--focus), white 96%);
  color: color-mix(in srgb, var(--fg), var(--focus) 22%);
  border-radius: 10px;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  padding: 10px 12px;
  display: grid;
}

.adminDocumentsRequiredActionNotice span {
  background: color-mix(in srgb, var(--focus), white 84%);
  width: 18px;
  height: 18px;
  color: color-mix(in srgb, var(--focus), black 14%);
  border-radius: 999px;
  place-items: center;
  font-size: 12px;
  font-weight: 800;
  display: inline-grid;
}

.adminDocumentsRequiredActionNotice p {
  margin: 0;
  font-size: .86rem;
  line-height: 1.35;
}

.adminDocumentsPolicyNotice strong {
  color: var(--fg);
  margin-bottom: 2px;
  display: block;
}

.adminDocumentsRequiredActionNotice.isBlocked {
  border-color: color-mix(in srgb, var(--danger), transparent 55%);
  background: color-mix(in srgb, var(--danger), white 96%);
  color: color-mix(in srgb, var(--fg), var(--danger) 22%);
}

.adminDocumentsRequiredActionNotice.isBlocked span {
  background: color-mix(in srgb, var(--danger), white 86%);
  color: color-mix(in srgb, var(--danger), black 18%);
}

.adminDocumentsRequiredActionNotice.isWarning {
  border-color: color-mix(in srgb, var(--warning), transparent 52%);
  background: color-mix(in srgb, var(--warning), white 94%);
  color: color-mix(in srgb, var(--fg), var(--warning) 24%);
}

.adminDocumentsRequiredActionNotice.isWarning span {
  background: color-mix(in srgb, var(--warning), white 82%);
  color: color-mix(in srgb, var(--warning), black 24%);
}

.adminDocumentsSignatureSuitabilityCheck {
  border: 1px solid color-mix(in srgb, var(--warning), transparent 48%);
  background: var(--surface);
  min-height: 44px;
  color: var(--fg);
  cursor: pointer;
  border-radius: 8px;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  padding: 8px 10px;
  display: flex;
}

.adminDocumentsSignatureSuitabilityCheck input {
  width: 18px;
  height: 18px;
  accent-color: var(--focus);
  flex: none;
}

.adminDocumentsSignatureSuitabilityCheck b {
  font-size: .84rem;
  line-height: 1.35;
}

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

.adminDocumentsRecipientControls {
  align-items: start;
}

.adminDocumentsRecipientsTitleRow {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminDocumentsRecipientClear {
  color: var(--focus);
  cursor: pointer;
  font: inherit;
  white-space: nowrap;
  background: none;
  border: 0;
  padding: 0;
  font-weight: 700;
}

.adminDocumentsRecipientClear:disabled {
  cursor: not-allowed;
  opacity: .55;
}

.adminDocumentsRoleCoverage {
  margin: 2px 0 0;
  font-size: .86rem;
}

.adminDocumentsFinalRecipients {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  background: #fff;
  border-radius: 12px;
  gap: 12px;
  padding: 0;
  display: grid;
  overflow: hidden;
}

.adminDocumentsFinalRecipients.hasRecipients {
  border-color: color-mix(in srgb, var(--stroke), transparent 10%);
  background: #fff;
}

.adminDocumentsFinalRecipientsHeader {
  justify-content: space-between;
  align-items: start;
  gap: 12px;
  padding: 12px 14px 0;
  display: flex;
}

.adminDocumentsFinalRecipientsHeader > div, .adminDocumentsFinalRecipientsEmpty {
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.adminDocumentsFinalRecipientsCount {
  background: color-mix(in srgb, var(--focus), white 88%);
  min-width: 22px;
  height: 22px;
  color: color-mix(in srgb, var(--focus), black 12%);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 0 7px;
  font-size: .76rem;
  font-weight: 800;
  display: inline-flex;
}

.adminDocumentsFinalRecipientsEmpty span:not(.adminDocumentsFinalRecipientsIcon) {
  color: var(--muted);
  font-size: .86rem;
}

.adminDocumentsFinalRecipientsEmpty {
  border: 1px dashed color-mix(in srgb, var(--stroke), transparent 8%);
  background: #fff;
  border-radius: 10px;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  min-height: 62px;
  margin: 0 12px 12px;
  padding: 10px;
  display: grid;
}

.adminDocumentsFinalRecipientsEmpty > div {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.adminDocumentsFinalRecipientsIcon {
  background: color-mix(in srgb, var(--focus), white 92%);
  width: 34px;
  height: 34px;
  color: color-mix(in srgb, var(--focus), black 14%);
  border-radius: 999px;
  place-items: center;
  font-weight: 800;
  display: inline-grid;
}

.adminDocumentsSelectedWorkersTableWrap {
  gap: 10px;
  padding: 0 12px 12px;
  display: grid;
  overflow-x: auto;
}

.adminDocumentsSelectedWorkersTable {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  min-width: 600px;
}

.adminDocumentsSelectedWorkersTable th, .adminDocumentsSelectedWorkersTable td {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  text-align: left;
  vertical-align: middle;
  padding: 10px 12px;
}

.adminDocumentsSelectedWorkersTable th {
  color: var(--muted);
  letter-spacing: .05em;
  text-transform: uppercase;
  font-size: .73rem;
  font-weight: 800;
}

.adminDocumentsSelectedWorkersTable tbody tr:last-child td {
  border-bottom: 0;
}

.adminDocumentsSelectedWorkerIdentity {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-width: 0;
  font-weight: 750;
  display: inline-grid;
}

.adminDocumentsSelectedWorkerAvatar {
  flex: none;
}

.adminDocumentsSelectedWorkerActionCell {
  text-align: right;
  width: 44px;
}

.adminDocumentsSelectedWorkerRemove {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 6%);
  width: 28px;
  height: 28px;
  color: var(--muted);
  cursor: pointer;
  font: inherit;
  background: #fff;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 0;
  font-size: 18px;
  line-height: 1;
  display: inline-flex;
}

.adminDocumentsSelectedWorkerRemove:hover, .adminDocumentsSelectedWorkerRemove:focus-visible {
  border-color: color-mix(in srgb, var(--danger), transparent 45%);
  color: var(--danger);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--danger), transparent 86%);
}

.adminDocumentsAddWorkerButton {
  justify-self: start;
  min-height: 38px;
}

.adminDocumentsSendSummaryCard {
  position: sticky;
  top: 14px;
}

.adminDocumentsSendSummaryBody {
  align-content: start;
  gap: 14px;
  min-height: 607px;
  padding: 16px;
  display: grid;
}

.adminDocumentsSendSummaryHead {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  gap: 4px;
  padding-bottom: 12px;
  display: grid;
}

.adminDocumentsSendSummaryHead h2 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.2;
}

.adminDocumentsSendSummaryHead p {
  margin: 0;
  font-size: .86rem;
}

.adminDocumentsSendSummaryList {
  gap: 0;
  margin: 0;
  display: grid;
}

.adminDocumentsSendSummaryList div {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  gap: 4px;
  min-height: 58px;
  padding: 10px 0;
  display: grid;
}

.adminDocumentsSendSummaryList dt {
  color: var(--muted);
  font-size: var(--ops-font-micro, 11px);
  letter-spacing: .06em;
  text-transform: uppercase;
  font-weight: 800;
}

.adminDocumentsSendSummaryList dd {
  min-width: 0;
  color: var(--fg);
  font-size: var(--ops-font-primary, 13px);
  overflow-wrap: anywhere;
  margin: 0;
  line-height: 1.35;
}

.adminDocumentsSendSummaryNotice {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 58%);
  background: color-mix(in srgb, var(--focus), white 95%);
  min-height: 58px;
  color: color-mix(in srgb, var(--focus), black 18%);
  border-radius: 10px;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  padding: 10px;
  display: grid;
}

.adminDocumentsSendSummaryNotice span {
  background: color-mix(in srgb, var(--focus), white 84%);
  width: 18px;
  height: 18px;
  font-size: var(--ops-font-meta, 12px);
  border-radius: 999px;
  place-items: center;
  margin-top: 1px;
  font-weight: 800;
  display: inline-grid;
}

.adminDocumentsSendSummaryNotice svg {
  margin-top: 1px;
}

.adminDocumentsSendSummaryNotice p {
  color: color-mix(in srgb, var(--fg), var(--focus) 24%);
  font-size: var(--ops-font-meta, 12px);
  margin: 0;
  line-height: 1.35;
}

.adminDocumentsSendEyebrow {
  color: var(--muted);
  font-size: var(--ops-font-micro, 11px);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin: 0;
  font-weight: 700;
}

.adminDocumentsToolbar {
  flex-direction: row;
  justify-content: space-between;
  align-items: start;
  gap: 16px;
}

.adminDocumentsToolbarText {
  min-width: 0;
}

.adminDocumentsToolbarActions, .adminDocumentsComposerActions, .adminDocumentsDetailHeroActions {
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.adminDocumentsComposerActions.adminDocumentsSendReadiness {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  grid-template-columns: auto auto minmax(0, 1fr);
  justify-content: start;
  align-items: center;
  gap: 7px 10px;
  padding-top: 13px;
  display: grid;
}

.adminDocumentsComposerActions .btn {
  min-height: 40px;
}

.adminDocumentsHeaderActions {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.adminDocumentsActionBar {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  display: flex;
}

.adminDocumentsSummary {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.adminDocumentsSummaryCompact {
  gap: 6px;
}

.adminDocumentsComposerGrid {
  grid-template-columns: minmax(220px, 1.4fr) repeat(4, minmax(0, .9fr)) auto;
  gap: 10px 12px;
  display: grid;
}

.adminDocumentsComposerFieldWide {
  grid-column: 1 / -1;
}

.adminDocumentsComposerNote {
  resize: vertical;
  min-height: 108px;
  font-family: inherit;
  line-height: 1.45;
}

.adminDocumentsFileDropzone {
  border: 1px dashed color-mix(in srgb, var(--focus), transparent 34%);
  border-radius: calc(var(--radius) + 4px);
  background: linear-gradient(180deg, color-mix(in srgb, var(--focus), white 98%), color-mix(in srgb, white, var(--bg) 8%));
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 112px;
  padding: 16px;
  transition: border-color .14s, background-color .14s, box-shadow .14s, transform .14s;
  display: grid;
}

.adminDocumentsFileDropzone:hover, .adminDocumentsFileDropzone.isDragging {
  border-color: color-mix(in srgb, var(--focus), transparent 14%);
  background: linear-gradient(180deg, color-mix(in srgb, var(--focus), white 95%), color-mix(in srgb, white, var(--bg) 4%));
  transform: translateY(-1px);
  box-shadow: 0 10px 24px #28489214;
}

.adminDocumentsFileDropzone.isDisabled {
  opacity: .65;
  transform: none;
}

.adminDocumentsFileDropzoneIcon {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 68%);
  background: #fff;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  display: inline-flex;
}

.adminDocumentsFileDropzoneFileIcon {
  width: 40px;
  height: 40px;
}

.adminDocumentsFileDropzoneText {
  gap: 5px;
  min-width: 0;
  display: grid;
}

.adminDocumentsFileConstraint {
  color: color-mix(in srgb, var(--muted), var(--focus) 16%);
  font-size: var(--ops-font-meta, 12px);
  font-weight: 700;
}

.adminDocumentsFileMeta {
  border: 1px dashed color-mix(in srgb, var(--focus), transparent 36%);
  border-radius: calc(var(--radius) + 4px);
  background: color-mix(in srgb, var(--focus), white 98%);
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 70px;
  margin-top: 0;
  padding: 12px 14px;
  display: grid;
  box-shadow: 0 1px #0f172a08;
}

.adminDocumentsFileMetaBadge {
  border: 1px solid color-mix(in srgb, var(--stroke), var(--fg) 6%);
  background: #fff;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  padding: 2px;
  display: inline-flex;
}

.adminDocumentsFileMetaIcon {
  width: 34px;
  height: 34px;
  display: block;
}

.adminDocumentsFileMetaText {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminDocumentsFileMetaText strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.adminDocumentsFileMetaActions {
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminDocumentsFileRemove {
  border: 1px solid color-mix(in srgb, var(--danger), transparent 52%);
  width: 36px;
  height: 36px;
  color: var(--danger);
  cursor: pointer;
  font: inherit;
  background: #fff;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 0;
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
  display: inline-flex;
}

.adminDocumentsFileRemove:hover {
  background: color-mix(in srgb, var(--danger), white 94%);
}

.adminDocumentsFileRemove:disabled {
  cursor: not-allowed;
  opacity: .6;
}

.adminDocumentsInlineError {
  color: var(--danger);
  margin: 0;
}

.adminDocumentsSendReadyHint {
  max-width: 420px;
  color: color-mix(in srgb, var(--muted), var(--warn) 26%);
  font-size: var(--ops-font-meta, 12px);
  grid-column: 1 / -1;
  font-weight: 650;
  line-height: 1.35;
}

.adminDocumentsSendReadyHint.isReady {
  color: var(--muted);
  font-weight: 600;
}

.adminDocumentsComposerActions .btnAction:disabled {
  border-color: color-mix(in srgb, var(--stroke), transparent 10%);
  background: color-mix(in srgb, var(--bg-2), var(--fg) 5%);
  color: color-mix(in srgb, var(--muted), white 18%);
  box-shadow: none;
}

.adminDocumentsDifferentSendPage {
  width: 100%;
  max-width: none;
}

.adminDocumentsDifferentSummaryCard {
  position: sticky;
  top: 14px;
}

.adminDocumentsDifferentBody {
  gap: 12px;
  padding: 16px;
  display: grid;
}

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

.adminDocumentsBatchUploadBox {
  border: 1px dashed color-mix(in srgb, var(--focus), transparent 50%);
  background: linear-gradient(180deg, color-mix(in srgb, var(--focus), white 98%), color-mix(in srgb, white, var(--bg) 7%));
  border-radius: 12px;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 10px 12px;
  min-height: 166px;
  padding: 13px;
  display: grid;
}

.adminDocumentsBatchUploadBox > .btn, .adminDocumentsBatchUploadBox > .adminDocumentsTextAction, .adminDocumentsBatchUploadBox > .adminDocumentsBatchFileMeta {
  grid-column: 1 / -1;
}

.adminDocumentsBatchUploadBox strong {
  margin-bottom: 3px;
  display: block;
}

.adminDocumentsBatchUploadBox span {
  color: var(--muted);
  font-size: var(--ops-font-meta, 12px);
  line-height: 1.35;
}

.adminDocumentsBatchUploadIcon {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 62%);
  width: 36px;
  height: 36px;
  color: var(--focus);
  background: #fff;
  border-radius: 10px;
  padding: 8px;
}

.adminDocumentsTextAction {
  width: fit-content;
  min-height: 32px;
  color: var(--focus);
  cursor: pointer;
  font: inherit;
  font-size: var(--ops-font-action, 12px);
  background: none;
  border: 0;
  align-items: center;
  gap: 7px;
  padding: 0;
  font-weight: 800;
  display: inline-flex;
}

.adminDocumentsTextAction.isDanger {
  color: var(--danger);
}

.adminDocumentsBatchFileMeta {
  color: var(--muted);
  font-size: var(--ops-font-meta, 12px);
  overflow-wrap: anywhere;
  margin: 0;
}

.adminDocumentsBatchNotice {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 60%);
  background: color-mix(in srgb, var(--focus), white 96%);
  color: color-mix(in srgb, var(--fg), var(--focus) 20%);
  font-size: var(--ops-font-primary, 13px);
  border-radius: 10px;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  font-weight: 650;
  display: flex;
}

.adminDocumentsBatchReviewActions {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.adminDocumentsBatchReviewActions .btn {
  align-items: center;
  gap: 7px;
  min-height: 40px;
  display: inline-flex;
}

.adminDocumentsBatchStale {
  color: var(--warn);
  font-size: var(--ops-font-meta, 12px);
  font-weight: 800;
}

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

.adminDocumentsBatchMetricStrip button {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  min-height: 44px;
  color: var(--fg);
  cursor: pointer;
  font: inherit;
  background: #fff;
  border-radius: 10px;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  display: flex;
}

.adminDocumentsBatchMetricStrip button.isActive {
  border-color: color-mix(in srgb, var(--focus), transparent 34%);
  background: color-mix(in srgb, var(--focus), white 94%);
}

.adminDocumentsBatchMetricStrip button.isDanger strong {
  color: var(--danger);
}

.adminDocumentsBatchMetricStrip button.isReady strong {
  color: var(--ok);
}

.adminDocumentsBatchMetricStrip span {
  color: var(--muted);
  font-size: var(--ops-font-meta, 12px);
  font-weight: 800;
}

.adminDocumentsBatchMetricStrip strong {
  font-size: 14px;
}

.adminDocumentsBatchTableWrap {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: #fff;
  border-radius: 12px;
  overflow-x: auto;
}

.adminDocumentsBatchTable {
  border-collapse: collapse;
  width: 100%;
  min-width: 980px;
  font-size: var(--ops-font-primary, 13px);
}

.adminDocumentsBatchTable th, .adminDocumentsBatchTable td {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  text-align: left;
  vertical-align: middle;
  padding: 9px 10px;
}

.adminDocumentsBatchTable th {
  color: var(--muted);
  font-size: var(--ops-font-micro, 11px);
  letter-spacing: .05em;
  text-transform: uppercase;
  font-weight: 850;
}

.adminDocumentsBatchTable tr:last-child td {
  border-bottom: 0;
}

.adminDocumentsBatchStatus {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: color-mix(in srgb, var(--bg-2), white 54%);
  min-height: 24px;
  color: var(--muted);
  font-size: var(--ops-font-micro, 11px);
  white-space: nowrap;
  border-radius: 999px;
  align-items: center;
  padding: 0 8px;
  font-weight: 850;
  display: inline-flex;
}

.adminDocumentsBatchStatus.ready {
  border-color: color-mix(in srgb, var(--ok), transparent 48%);
  background: color-mix(in srgb, var(--ok), white 93%);
  color: color-mix(in srgb, var(--ok), black 18%);
}

.adminDocumentsBatchStatus.blocked {
  border-color: color-mix(in srgb, var(--danger), transparent 48%);
  background: color-mix(in srgb, var(--danger), white 94%);
  color: color-mix(in srgb, var(--danger), black 12%);
}

.adminDocumentsBatchStatus.file_only {
  border-color: color-mix(in srgb, var(--warn), transparent 44%);
  background: color-mix(in srgb, var(--warn), white 91%);
  color: color-mix(in srgb, var(--warn), black 22%);
}

.adminDocumentsBatchUploadedCell {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 2px 7px;
  min-width: 0;
  display: grid;
}

.adminDocumentsBatchUploadedCell span {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.adminDocumentsBatchUploadedCell small {
  color: var(--muted);
  grid-column: 2;
}

.adminDocumentsBatchFileIcon {
  grid-row: span 2;
  width: 24px;
  height: 24px;
}

.adminDocumentsBatchMobileRows {
  display: none;
}

.adminDocumentsBatchEmptyReview {
  border: 1px dashed color-mix(in srgb, var(--stroke), transparent 8%);
  background: color-mix(in srgb, var(--bg-2), white 50%);
  min-height: 64px;
  color: var(--muted);
  border-radius: 10px;
  align-items: center;
  gap: 8px;
  padding: 12px;
  display: flex;
}

.adminDocumentsDifferentActions {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  align-items: center;
  padding-top: 12px;
}

.adminDocumentsDifferentActions .btn {
  align-items: center;
  gap: 7px;
  min-height: 42px;
  display: inline-flex;
}

.adminDocumentsSuccessBanner {
  border: 1px solid color-mix(in srgb, var(--ok), transparent 56%);
  background: color-mix(in srgb, var(--ok), white 94%);
  color: color-mix(in srgb, var(--fg), var(--ok) 18%);
  border-radius: 12px;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  padding: 12px 14px;
  display: flex;
}

.adminDocumentsSuccessBanner > svg {
  color: var(--ok);
  flex: none;
}

.adminDocumentsSuccessBannerMain {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminDocumentsSuccessBannerMain strong {
  font-weight: 900;
}

.adminDocumentsSuccessBannerMain span {
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.35;
}

.adminDocumentsSuccessBannerActions {
  flex-wrap: wrap;
  flex: none;
  gap: 8px;
  margin-left: auto;
  display: flex;
}

.adminDocumentsSuccessBannerActions .btn {
  min-height: 38px;
}

.adminDocumentsConfirmOverlay {
  z-index: 1200;
  padding: max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));
  background: #0f172a5c;
  place-items: center;
  display: grid;
  position: fixed;
  inset: 0;
}

.adminDocumentsConfirmDialog {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 6%);
  background: #fff;
  border-radius: 14px;
  gap: 14px;
  width: min(520px, 100%);
  padding: 18px;
  display: grid;
  box-shadow: 0 24px 80px #0f172a3d;
}

.adminDocumentsConfirmHeader {
  align-items: flex-start;
  gap: 11px;
  display: flex;
}

.adminDocumentsConfirmHeader > svg {
  color: var(--focus);
  flex: none;
  margin-top: 2px;
}

.adminDocumentsConfirmHeader h2 {
  margin: 0;
  font-size: 1.22rem;
}

.adminDocumentsConfirmHeader p {
  color: var(--muted);
  margin: 5px 0 0;
  line-height: 1.45;
}

.adminDocumentsConfirmCheck {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 62%);
  background: color-mix(in srgb, var(--focus), white 96%);
  min-height: 44px;
  color: var(--fg);
  cursor: pointer;
  border-radius: 10px;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  font-size: .92rem;
  font-weight: 750;
  display: flex;
}

.adminDocumentsConfirmCheck input {
  width: 18px;
  height: 18px;
  accent-color: var(--focus);
}

.adminDocumentsConfirmActions {
  justify-content: flex-end;
  gap: 10px;
  display: flex;
}

.adminDocumentsConfirmActions .btn {
  align-items: center;
  gap: 7px;
  min-height: 42px;
  display: inline-flex;
}

.adminDocumentsCorrectionReissueDialog {
  width: min(620px, 100%);
}

.adminDocumentsCorrectionReissueFields {
  gap: 14px;
  display: grid;
}

.adminDocumentsCorrectionReissueFields .field {
  gap: 7px;
  display: grid;
}

.adminDocumentsCorrectionReissueFields input[type="file"] {
  min-height: 46px;
  padding: 9px 11px;
}

.adminDocumentsCorrectionReissueFields textarea {
  resize: vertical;
  min-height: 112px;
}

.adminDocumentsStatePanel {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: color-mix(in srgb, var(--bg), white 45%);
  border-radius: 12px;
  align-content: center;
  justify-items: start;
  gap: 12px;
  min-height: 180px;
  padding: 20px;
  display: grid;
}

.adminDocumentsListCard > .adminDocumentsStatePanel {
  margin: 14px;
}

.adminDocumentsStatePanel.isError {
  border-color: color-mix(in srgb, var(--danger), transparent 62%);
  background: color-mix(in srgb, var(--danger), white 96%);
}

.adminDocumentsStateTitle {
  color: var(--muted);
  margin: 0;
  font-weight: 700;
}

.adminDocumentsSkeletonList {
  gap: 8px;
  width: 100%;
  display: grid;
}

.adminDocumentsSkeletonRow {
  grid-template-columns: 34px minmax(0, 1fr) 92px;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  display: grid;
}

.adminDocumentsSkeletonIcon, .adminDocumentsSkeletonText, .adminDocumentsSkeletonPill {
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--stroke), white 42%) 0%,
    color-mix(in srgb, var(--stroke), white 70%) 50%,
    color-mix(in srgb, var(--stroke), white 42%) 100%);
  background-size: 200% 100%;
  border-radius: 999px;
  animation: 1.15s ease-in-out infinite adminDocumentsSkeleton;
  display: block;
}

.adminDocumentsSkeletonIcon {
  border-radius: 8px;
  width: 34px;
  height: 34px;
}

.adminDocumentsSkeletonText {
  height: 14px;
}

.adminDocumentsSkeletonPill {
  height: 26px;
}

@keyframes adminDocumentsSkeleton {
  from {
    background-position: 100% 0;
  }

  to {
    background-position: -100% 0;
  }
}

.adminDocumentsListTableWrap {
  overflow-anchor: none;
  max-width: 100%;
  overflow: auto hidden;
}

.adminDocumentsEmptyTableWrap {
  overflow: hidden;
}

.adminDocumentsListTable {
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  width: 100%;
  min-width: 860px;
}

.adminOperationsListPage .adminDocumentsListTable thead {
  background: #f8fafc;
}

.adminOperationsListPage .adminDocumentsListTable thead th {
  border-bottom: 1px solid var(--stroke);
  color: color-mix(in srgb, var(--fg), black 8%);
  font-size: var(--ops-font-table-header, 13px);
  letter-spacing: .01em;
  text-align: left;
  background: none;
  padding: 13px 16px;
  font-weight: 700;
  line-height: 1.2;
}

.adminOperationsListPage .adminDocumentsListTable thead th.adminDocumentsColActions {
  text-align: right;
}

.adminOperationsListPage .adminDocumentsListTable tbody td {
  border-bottom: 1px solid var(--stroke);
  font-size: var(--ops-font-row, 13px);
  vertical-align: middle;
  padding: 16px;
  line-height: 1.3;
}

.adminDocumentsListTable.isInbox {
  min-width: 760px;
}

.adminDocumentsListTable.isAll th:first-child, .adminDocumentsListTable.isAll td:first-child, .adminDocumentsListTable.isInbox th:first-child, .adminDocumentsListTable.isInbox td:first-child {
  width: 132px;
}

.adminDocumentsListTable.isAll th:nth-child(2), .adminDocumentsListTable.isAll td:nth-child(2), .adminDocumentsListTable.isInbox th:nth-child(2), .adminDocumentsListTable.isInbox td:nth-child(2) {
  width: auto;
}

.adminDocumentsListTable.isAll th:nth-child(3), .adminDocumentsListTable.isAll td:nth-child(3) {
  width: 18%;
}

.adminDocumentsListTable.isAll th:nth-child(4), .adminDocumentsListTable.isAll td:nth-child(4) {
  width: 15%;
}

.adminDocumentsListTable.isAll th:nth-child(5), .adminDocumentsListTable.isAll td:nth-child(5) {
  width: 14%;
}

.adminDocumentsListTable.isInbox th:nth-child(3), .adminDocumentsListTable.isInbox td:nth-child(3) {
  width: 22%;
}

.adminDocumentsListTable.isInbox th:nth-child(4), .adminDocumentsListTable.isInbox td:nth-child(4) {
  width: 16%;
}

.adminDocumentsListTable .adminDocumentsColActions {
  width: 108px;
  min-width: 108px;
}

.adminOperationsListPage .adminDocumentsListTable .adminDocumentsListRow:hover td, .adminOperationsListPage .adminDocumentsListTable .adminDocumentsListRow:focus-within td, .adminDocumentsListTable .adminDocumentsListRow.isAttention td {
  background: color-mix(in srgb, var(--focus), white 96%);
}

.adminDocumentsListTable .adminDocumentsListRow.isAttention .adminDocumentsListTitle {
  color: color-mix(in srgb, var(--focus), black 16%);
  font-weight: 800;
}

.adminDocumentsListDate, .adminDocumentsListSource, .adminDocumentsListState, .adminDocumentsListRequiredAction {
  min-width: 0;
  font-size: var(--ops-font-primary, 13px);
  vertical-align: middle;
  line-height: 1.28;
  overflow: hidden;
}

.adminDocumentsListDate > span:not(.sr-only) {
  display: block;
}

.adminDocumentsListSource > .adminDocumentsSourceBadge, .adminDocumentsListState > .adminDocumentStatusBadge, .adminDocumentsListState > .adminDocumentHandlingBadge, .adminDocumentsListRequiredAction > .adminDocumentRequiredBadge {
  text-overflow: ellipsis;
  max-width: 100%;
  overflow: hidden;
}

.adminDocumentsListState {
  overflow: visible;
}

.adminDocumentsListState > .adminDocumentStatusBadge {
  text-align: center;
  text-overflow: clip;
  white-space: normal;
  overflow: visible;
}

.adminDocumentsListSource > .adminDocumentsSourceActor, .adminDocumentsListState > .adminDocumentsProgressText, .adminDocumentsListRequiredAction > .adminDocumentsProgressText {
  margin-top: 4px;
  display: block;
}

.adminDocumentsListDate, .adminDocumentsListSource, .adminDocumentsListState span:not(.adminDocumentStatusBadge):not(.adminDocumentHandlingBadge), .adminDocumentsListRequiredAction span:not(.adminDocumentRequiredBadge) {
  color: var(--muted);
}

.adminDocumentsListDateLabel {
  color: var(--muted);
  font-size: var(--ops-font-micro, 11px);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 700;
  display: none;
}

.adminDocumentsListTile {
  width: 40px;
  min-width: 40px;
  min-height: 40px;
  box-shadow: none;
  background: none;
  border: 0;
  border-radius: 0;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: flex;
}

.adminDocumentsListTileIcon {
  width: 38px;
  height: 38px;
  display: block;
}

.adminDocumentsListTileKind {
  font-size: var(--ops-font-primary, 13px);
  letter-spacing: 0;
  font-weight: 700;
}

.adminDocumentsListMain, .adminDocumentsDetailHeroMain, .adminDocumentsDetailSide {
  min-width: 0;
}

.adminDocumentsListMainCell {
  vertical-align: middle;
  min-width: 0;
}

.adminDocumentsDetailHeroMain {
  align-content: center;
  gap: 8px;
  display: grid;
}

.adminDocumentsDetailHeroTop, .adminDocumentsDetailIdentity {
  flex-wrap: wrap;
  align-items: baseline;
  min-width: 0;
  display: flex;
}

.adminDocumentsDetailHeroTop {
  gap: 8px;
}

.adminDocumentsDetailIdentity {
  gap: 4px 8px;
}

.adminDocumentsDetailHero .adminDocumentsDetailIdentity {
  align-items: center;
  gap: 6px;
  display: grid;
}

.adminDocumentsDetailHero .adminDocumentsDetailTitle {
  font-size: clamp(22px, 2.2vw, 27px);
  line-height: 1.08;
}

.adminDocumentsListMain {
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  display: grid;
}

.adminDocumentsListMobileMain {
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  width: 100%;
  min-width: 0;
  display: grid;
}

.adminDocumentsListTop {
  justify-content: space-between;
  align-items: start;
  gap: 12px;
  width: 100%;
  display: flex;
}

.adminDocumentsListHeading {
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  display: flex;
}

.adminDocumentsListTitle, .adminDocumentsDetailTitle {
  min-width: 0;
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}

.adminDocumentsListTitle {
  font-size: var(--ops-font-primary, 13px);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 800;
  overflow: hidden;
}

.adminDocumentsListMeta, .adminDocumentsListBottom, .adminDocumentsDetailMeta, .adminDocumentsTimelineMeta {
  color: var(--muted);
  font-size: var(--ops-font-meta, 12px);
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  display: flex;
}

.adminDocumentsListMeta {
  flex-wrap: nowrap;
  max-width: 100%;
  overflow: hidden;
}

.adminDocumentsListMetaType, .adminDocumentsListMetaSize {
  flex: none;
}

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

.adminDocumentsSourceBadge {
  background: color-mix(in srgb, var(--focus), white 95%);
  color: color-mix(in srgb, var(--focus), black 18%);
  gap: 5px;
}

.adminDocumentsSourceBadge svg {
  flex: none;
}

.adminDocumentsSourceActor {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  color: color-mix(in srgb, var(--fg), white 22%);
  font-weight: 650;
  display: block;
  overflow: hidden;
}

.adminDocumentsListTable .adminOperationsReviewActionsCell .adminDirectoryRowActions.adminOperationsQuickActions {
  gap: 6px;
}

.adminDocumentsListTable .adminDocumentsListAction {
  width: 80px;
  min-width: 80px;
}

.adminOperationsListPage .adminDocumentsListTable.isAll td.adminDocumentsListRequiredAction, .adminOperationsListPage .adminDocumentsListTable.isAll td.adminDocumentsListState {
  vertical-align: top;
}

@media (max-width: 1360px) {
  .adminDocumentsListTable.isAll th:nth-child(3), .adminDocumentsListTable.isAll td:nth-child(3) {
    width: 16%;
  }

  .adminDocumentsListTable.isAll th:nth-child(4), .adminDocumentsListTable.isAll td:nth-child(4) {
    width: 17%;
  }

  .adminDocumentsListTable.isAll th:nth-child(5), .adminDocumentsListTable.isAll td:nth-child(5) {
    width: 18%;
  }

  .adminDocumentsListTable.isAll .adminDocumentsListState > .adminDocumentStatusBadge {
    white-space: nowrap;
  }
}

@media (max-width: 640px) {
  .adminDocumentsListTable.isAll {
    min-width: 860px;
  }

  .adminDocumentsListTable.isInbox {
    min-width: 760px;
  }
}

.adminDocumentsListBadges {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  display: flex;
}

.adminDocumentsProgressText {
  color: color-mix(in srgb, var(--fg), white 18%);
  font-weight: 600;
}

.adminDocumentStatusBadge, .adminDocumentHandlingBadge, .adminDocumentRequiredBadge {
  color: var(--fg);
  background: #fff;
}

.adminDocumentStatusBadge.isReceived {
  background: color-mix(in srgb, var(--focus), white 92%);
  color: var(--fg);
}

.adminDocumentStatusBadge.isComplete {
  background: color-mix(in srgb, var(--ok), white 93%);
  color: color-mix(in srgb, var(--ok), black 12%);
}

.adminDocumentStatusBadge.isAttention {
  background: color-mix(in srgb, var(--focus), white 94%);
  color: color-mix(in srgb, var(--focus), black 18%);
}

.adminDocumentStatusBadge.isViewed, .adminDocumentStatusBadge.isNew {
  background: color-mix(in srgb, var(--focus), white 92%);
  color: var(--fg);
}

.adminDocumentStatusBadge.isArchived {
  background: color-mix(in srgb, var(--border), white 76%);
  color: color-mix(in srgb, var(--muted), var(--fg) 18%);
}

.adminDocumentHandlingBadge.isNeedsHandling {
  background: color-mix(in srgb, var(--accent), white 90%);
  color: color-mix(in srgb, var(--warn), black 8%);
}

.adminDocumentHandlingBadge.isHandled {
  background: color-mix(in srgb, var(--ok), white 94%);
  color: color-mix(in srgb, var(--ok), black 14%);
}

.adminDocumentRequiredBadge.isReview, .adminDocumentRequiredBadge.isSign {
  background: color-mix(in srgb, var(--focus), white 94%);
  color: color-mix(in srgb, var(--focus), black 18%);
}

.adminDocumentsNoValue {
  color: var(--muted);
  font-weight: 700;
}

.adminDocumentsListAction {
  text-decoration: none;
}

.adminDocumentsListAction.isReview {
  border-color: color-mix(in srgb, var(--focus), transparent 52%);
  color: color-mix(in srgb, var(--focus), black 18%);
  background: color-mix(in srgb, var(--focus), white 96%);
}

.adminDocumentsDetailHero {
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  display: grid;
}

.adminDocumentsDetailFileTile {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  background: color-mix(in srgb, var(--bg), white 56%);
  border-radius: 10px;
  place-items: center;
  width: 50px;
  height: 50px;
  display: grid;
}

.adminDocumentsDetailFileTile.isPdf {
  border-color: color-mix(in srgb, var(--danger), transparent 70%);
}

.adminDocumentsDetailFileTile.isImage {
  border-color: color-mix(in srgb, var(--focus), transparent 72%);
}

.adminDocumentsDetailFileIcon {
  width: 42px;
  height: 42px;
  display: block;
}

.adminDocumentsDetailNote {
  margin: 12px 0 0;
}

.adminDocumentsDetailSummaryStrip {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  color: color-mix(in srgb, var(--fg), white 18%);
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 10px;
  padding: 10px 0 0;
  font-size: 13px;
  display: flex;
}

.adminDocumentsDetailHeroActions {
  grid-auto-columns: max-content;
  grid-auto-flow: column;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  max-width: none;
  display: grid;
}

.adminDocumentsDetailAction {
  white-space: nowrap;
  gap: 7px;
  min-height: 44px;
  padding-inline: 12px;
}

.adminDocumentsDetailActionIcon {
  flex: none;
  place-items: center;
  width: 18px;
  height: 18px;
  display: inline-grid;
}

.adminDocumentsDetailActionIcon svg {
  width: 18px;
  height: 18px;
  display: block;
}

.adminDocumentsDetailGrid {
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 18px;
  display: grid;
}

.adminDocumentsDetailSide {
  flex-direction: column;
  gap: 18px;
  display: flex;
}

.adminDocumentsUnifiedRail {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 4%);
  border-radius: calc(var(--radius) + 2px);
  box-shadow: 0 12px 30px color-mix(in srgb, var(--fg), transparent 96%);
  background: #fff;
  gap: 0;
  overflow: hidden;
}

.adminDocumentsUnifiedRail > .card {
  box-shadow: none;
  background: none;
  border: 0;
  border-radius: 0;
  margin: 0;
}

.adminDocumentsUnifiedRail > .card + .card {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 4%);
}

.adminDocumentsUnifiedRail > .card > .cardBody {
  padding: 18px;
}

.adminDocumentsHandlingCard, .adminDocumentsLifecycleCard, .adminDocumentsWorkflowCard {
  gap: 18px;
  display: grid;
}

.adminDocumentsHandlingHead, .adminDocumentsWorkflowHead {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.adminDocumentsWorkflowHead {
  align-items: flex-start;
}

.adminDocumentsWorkflowChips {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  display: inline-flex;
}

.adminDocumentsWorkflowSteps {
  gap: 20px;
  padding: 4px 0 2px;
  display: grid;
}

.adminDocumentsWorkflowStep {
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  display: grid;
  position: relative;
}

.adminDocumentsWorkflowStep:not(:last-child):after {
  content: "";
  z-index: 0;
  background: color-mix(in srgb, var(--stroke), var(--focus) 18%);
  border-radius: 999px;
  width: 2px;
  position: absolute;
  top: 28px;
  bottom: -20px;
  left: 13px;
}

.adminDocumentsWorkflowStepDot {
  z-index: 1;
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  width: 26px;
  height: 26px;
  color: var(--muted);
  background: #fff;
  border-radius: 999px;
  place-items: center;
  margin-top: 1px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  display: inline-grid;
  position: relative;
}

.adminDocumentsWorkflowStepDot svg {
  stroke-width: 2.1px;
  width: 14px;
  height: 14px;
}

.adminDocumentsWorkflowStepDot[data-marker="check"] svg {
  width: 13px;
  height: 13px;
  transform: translate(-.1px, -.2px);
}

.adminDocumentsWorkflowStep.is-complete .adminDocumentsWorkflowStepDot {
  border-color: color-mix(in srgb, var(--ok), transparent 32%);
  background: color-mix(in srgb, var(--ok), white 12%);
  color: #fff;
}

.adminDocumentsWorkflowStep.is-current .adminDocumentsWorkflowStepDot {
  border-color: color-mix(in srgb, var(--warn), transparent 36%);
  background: color-mix(in srgb, var(--warn), white 91%);
  color: color-mix(in srgb, var(--warn), black 18%);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--warn), transparent 90%);
}

.adminDocumentsWorkflowStep.is-muted .adminDocumentsWorkflowStepDot {
  border-color: color-mix(in srgb, var(--danger), transparent 58%);
  background: color-mix(in srgb, var(--danger), white 92%);
  color: color-mix(in srgb, var(--danger), black 16%);
}

.adminDocumentsWorkflowStep strong, .adminDocumentsWorkflowStep small {
  min-width: 0;
  display: block;
}

.adminDocumentsWorkflowStep strong {
  color: var(--fg);
  font-size: .94rem;
}

.adminDocumentsWorkflowStep small {
  color: var(--muted);
  margin-top: 2px;
  font-size: .84rem;
  line-height: 1.35;
}

.adminDocumentsWorkflowStepMeta {
  font-weight: 700;
  color: color-mix(in srgb, var(--fg), white 34%) !important;
}

.adminDocumentsHandlingText {
  margin: 0;
}

.adminDocumentsHandlingButton {
  width: 100%;
  min-height: 44px;
}

.adminDocumentsRecipientActionSection {
  gap: 10px;
  display: grid;
}

.adminDocumentsLifecycleReason, .adminDocumentsLifecycleReasonField {
  gap: 6px;
  display: grid;
}

.adminDocumentsLifecycleReason span, .adminDocumentsLifecycleReasonField span {
  color: var(--muted);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 800;
}

.adminDocumentsLifecycleReason strong {
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 1.4;
}

.adminDocumentsCriticalDrawer {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 6%);
  background: none;
  margin-top: 2px;
}

.adminDocumentsCriticalDrawerSummary {
  cursor: pointer;
  background: none;
  border-radius: 8px;
  grid-template-columns: 34px minmax(0, 1fr) 44px;
  align-items: center;
  gap: 12px;
  min-height: 72px;
  padding: 16px 0 0;
  list-style: none;
  display: grid;
}

.adminDocumentsCriticalDrawerSummary::-webkit-details-marker {
  display: none;
}

.adminDocumentsCriticalDrawerSummary:focus-visible {
  outline: none;
}

.adminDocumentsCriticalDrawerSummary:focus-visible .adminDocumentsCriticalDrawerDisclosure {
  color: var(--focus);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus), transparent 72%);
}

.adminDocumentsCriticalDrawerIcon {
  background: color-mix(in srgb, var(--warn), white 91%);
  width: 32px;
  height: 32px;
  color: color-mix(in srgb, var(--warn), black 18%);
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.adminDocumentsCriticalDrawerIcon svg {
  width: 18px;
  height: 18px;
}

.adminDocumentsCriticalDrawerText {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminDocumentsCriticalDrawerEyebrow {
  color: color-mix(in srgb, var(--warn), black 24%);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: .69rem;
  font-weight: 850;
  line-height: 1.2;
}

.adminDocumentsCriticalDrawerText strong {
  color: var(--fg);
  font-size: .95rem;
  line-height: 1.25;
}

.adminDocumentsCriticalDrawerText small {
  max-width: 62ch;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.35;
}

.adminDocumentsCriticalDrawerDisclosure {
  width: 44px;
  height: 44px;
  min-height: 44px;
  color: var(--muted);
  border-radius: 8px;
  place-items: center;
  transition: background-color .14s, color .14s;
  display: inline-grid;
}

.adminDocumentsCriticalDrawerSummary:hover .adminDocumentsCriticalDrawerDisclosure {
  background: color-mix(in srgb, var(--warn), white 92%);
  color: color-mix(in srgb, var(--warn), black 18%);
}

.adminDocumentsCriticalDrawerChevron {
  width: 18px;
  height: 18px;
  transition: transform .16s;
}

.adminDocumentsCriticalDrawer[open] .adminDocumentsCriticalDrawerChevron {
  transform: rotate(180deg);
}

.adminDocumentsCriticalDrawerBody {
  gap: 16px;
  padding: 16px 0 0 46px;
  display: grid;
}

.adminDocumentsLifecycleReasonField .textarea {
  resize: vertical;
  min-height: 96px;
}

.adminDocumentsLifecycleReasonHelp {
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.35;
}

.adminDocumentsCriticalDrawerFooter {
  justify-content: flex-end;
  display: flex;
}

.adminDocumentsCriticalDrawerActions {
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  display: inline-flex;
}

.adminDocumentsCriticalCancelButton {
  min-height: 44px;
  color: color-mix(in srgb, var(--fg), white 22%);
  background: none;
  border-color: #0000;
  font-weight: 750;
}

.adminDocumentsDangerButton {
  white-space: nowrap;
  gap: 8px;
  min-width: 172px;
  min-height: 44px;
  font-weight: 800;
}

.adminDocumentsDangerButton svg {
  stroke-width: 1.9px;
  flex: none;
  width: 16px;
  height: 16px;
}

@media (max-width: 620px) {
  .adminDocumentsCriticalDrawerSummary {
    grid-template-columns: 34px minmax(0, 1fr) 44px;
    align-items: start;
  }

  .adminDocumentsCriticalDrawerBody {
    padding-left: 0;
  }

  .adminDocumentsCriticalDrawerFooter {
    display: block;
  }

  .adminDocumentsCriticalDrawerActions {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    display: grid;
  }

  .adminDocumentsDangerButton {
    min-width: 0;
  }
}

.adminDocumentsHandlingNotice, .adminDocumentsHandlingError {
  border-radius: 8px;
  margin: 0;
  padding: 8px 10px;
  font-size: 13px;
  font-weight: 700;
}

.adminDocumentsHandlingNotice {
  border: 1px solid color-mix(in srgb, var(--ok), transparent 70%);
  background: color-mix(in srgb, var(--ok), white 94%);
  color: color-mix(in srgb, var(--ok), black 18%);
}

.adminDocumentsHandlingError {
  border: 1px solid color-mix(in srgb, var(--danger), transparent 70%);
  background: color-mix(in srgb, var(--danger), white 94%);
  color: color-mix(in srgb, var(--danger), black 12%);
}

.adminDocumentsActionProgressHead {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.adminDocumentsActionProgressMetric {
  gap: 2px;
  display: grid;
}

.adminDocumentsActionProgressMetric strong {
  font-size: 1rem;
  line-height: 1.2;
}

.adminDocumentsActionProgressMetric span, .adminDocumentsActionProgressNote {
  color: var(--muted);
  font-size: .88rem;
  line-height: 1.38;
}

.adminDocumentsActionProgressBar {
  appearance: none;
  background: color-mix(in srgb, var(--stroke), transparent 26%);
  border: 0;
  border-radius: 999px;
  width: 100%;
  height: 8px;
  overflow: hidden;
}

.adminDocumentsActionProgressBar::-webkit-progress-bar {
  background: color-mix(in srgb, var(--stroke), transparent 26%);
  border-radius: 999px;
}

.adminDocumentsActionProgressBar::-webkit-progress-value {
  background: color-mix(in srgb, var(--focus), transparent 10%);
  border-radius: 999px;
}

.adminDocumentsActionProgressBar::-moz-progress-bar {
  background: color-mix(in srgb, var(--focus), transparent 10%);
  border-radius: 999px;
}

.adminDocumentsActionProgressLabels {
  color: var(--muted);
  justify-content: space-between;
  gap: 10px;
  font-size: .8rem;
  line-height: 1.2;
  display: flex;
}

.adminDocumentsActionProgressNote {
  margin: 0;
}

.adminDocumentsActionEvidence {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  gap: 10px;
  margin-top: 8px;
  padding-top: 16px;
  display: grid;
}

.adminDocumentsActionEvidence h4 {
  color: var(--fg);
  margin: 0;
  font-size: .98rem;
  font-weight: 850;
  line-height: 1.2;
}

.adminDocumentsActionEvidenceLinks {
  gap: 0;
  display: grid;
}

.adminDocumentsActionEvidenceLink {
  min-height: 46px;
  color: var(--focus);
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  grid-template-columns: 24px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 12px;
  font-weight: 820;
  line-height: 1.25;
  text-decoration: none;
  display: grid;
}

.adminDocumentsActionEvidenceLink:last-child {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
}

.adminDocumentsActionEvidenceLink:hover span:nth-child(2) {
  text-decoration: underline;
}

.adminDocumentsActionEvidenceFileIcon, .adminDocumentsActionEvidenceOpenIcon {
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.adminDocumentsActionEvidenceFileIcon {
  width: 22px;
  height: 22px;
}

.adminDocumentsActionEvidenceFileIcon svg, .adminDocumentsActionEvidenceOpenIcon svg {
  width: 100%;
  height: 100%;
}

.adminDocumentsActionEvidenceLink.isPdf .adminDocumentsActionEvidenceFileIcon {
  color: var(--danger);
}

.adminDocumentsActionEvidenceOpenIcon {
  width: 18px;
  height: 18px;
  color: color-mix(in srgb, var(--fg), white 42%);
}

.adminDocumentsCompanyCountersign {
  gap: 14px;
  display: grid;
}

.adminDocumentsCompanyCountersignHead {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.adminDocumentsCompanyCountersignHead p {
  max-width: 54ch;
  margin: 5px 0 0;
  font-size: .88rem;
  line-height: 1.38;
}

.adminDocumentsCompanyCountersignPreviewRow {
  grid-template-columns: 124px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  display: grid;
}

.adminDocumentsCompanyCountersignPreview {
  aspect-ratio: 7 / 4;
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 5%);
  background: var(--surface);
  min-width: 0;
  color: var(--muted);
  text-align: center;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  font-size: .82rem;
  font-weight: 760;
  display: flex;
  overflow: hidden;
}

.adminDocumentsCompanyCountersignPreview img {
  object-fit: contain;
  width: 100%;
  height: 100%;
  padding: 8px;
  display: block;
}

.adminDocumentsCompanyCountersignFacts, .adminDocumentsCompanyCountersignMeta {
  gap: 5px;
  min-width: 0;
  display: grid;
}

.adminDocumentsCompanyCountersignFacts small, .adminDocumentsCompanyCountersignMeta small {
  color: var(--muted);
  overflow-wrap: anywhere;
  font-size: .82rem;
  line-height: 1.35;
}

.adminDocumentsCompanyCountersignButton {
  width: 100%;
  min-height: 44px;
}

.adminDocumentsCorrectionRequests {
  gap: 14px;
  display: grid;
}

.adminDocumentsCorrectionRequestsHead {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.adminDocumentsCorrectionRequestsHead p {
  max-width: 52ch;
  margin: 5px 0 0;
  font-size: .88rem;
  line-height: 1.38;
}

.adminDocumentsCorrectionRequestOpen {
  gap: 12px;
  display: grid;
}

.adminDocumentsCorrectionRequestMeta {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  display: grid;
}

.adminDocumentsCorrectionRequestMeta div, .adminDocumentsCorrectionReasonBox, .adminDocumentsCorrectionResolutionField {
  gap: 5px;
  display: grid;
}

.adminDocumentsCorrectionRequestMeta dt, .adminDocumentsCorrectionReasonBox span, .adminDocumentsCorrectionResolutionField span {
  color: color-mix(in srgb, var(--fg), white 42%);
  letter-spacing: .07em;
  text-transform: uppercase;
  font-size: .72rem;
  font-weight: 850;
  line-height: 1.2;
}

.adminDocumentsCorrectionRequestMeta dd {
  min-width: 0;
  color: var(--fg);
  overflow-wrap: anywhere;
  margin: 0;
  font-size: .86rem;
  font-weight: 740;
  line-height: 1.28;
}

.adminDocumentsCorrectionReasonBox {
  border: 1px solid color-mix(in srgb, var(--warn), transparent 64%);
  background: color-mix(in srgb, var(--warn), white 94%);
  border-radius: 10px;
  padding: 10px 12px;
}

.adminDocumentsCorrectionReasonBox p {
  color: color-mix(in srgb, var(--fg), white 12%);
  overflow-wrap: anywhere;
  margin: 0;
  font-size: .9rem;
  font-weight: 650;
  line-height: 1.42;
}

.adminDocumentsCorrectionActions {
  justify-content: flex-end;
  gap: 10px;
  display: flex;
}

.adminDocumentsCorrectionActions .btn {
  min-height: 44px;
}

.adminDocumentsCorrectionHistory {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  gap: 8px;
  padding-top: 12px;
  display: grid;
}

.adminDocumentsCorrectionHistory h4 {
  color: var(--fg);
  margin: 0;
  font-size: .92rem;
  font-weight: 850;
  line-height: 1.2;
}

.adminDocumentsCorrectionHistory ul {
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.adminDocumentsCorrectionHistory li {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 6px 10px;
  min-width: 0;
  display: grid;
}

.adminDocumentsCorrectionHistory li > span:not(.pill), .adminDocumentsCorrectionHistory small {
  color: var(--muted);
  overflow-wrap: anywhere;
  font-size: .82rem;
  line-height: 1.3;
}

.adminDocumentsCorrectionHistory small {
  grid-column: 2;
}

@media (max-width: 620px) {
  .adminDocumentsCompanyCountersignHead {
    display: grid;
  }

  .adminDocumentsCompanyCountersignHead .pill {
    justify-self: start;
  }

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

  .adminDocumentsCompanyCountersignPreview {
    max-width: 240px;
  }

  .adminDocumentsCorrectionRequestsHead, .adminDocumentsCorrectionActions {
    display: grid;
  }

  .adminDocumentsCorrectionRequestsHead .pill {
    justify-self: start;
  }

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

.adminDocumentsCardHeader {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.adminDocumentsPreviewImage {
  object-fit: contain;
  border: 1px solid var(--stroke);
  background: var(--bg);
  border-radius: 10px;
  width: 100%;
  height: auto;
  max-height: min(70vh, 720px);
  display: block;
}

.adminDocumentsPreviewFallback {
  border: 1px solid var(--stroke);
  background: color-mix(in srgb, var(--bg), var(--fg) 2%);
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  gap: 12px;
  min-height: 240px;
  padding: 20px;
  display: flex;
}

.adminDocumentsPreviewFallbackTile {
  border: 1px solid color-mix(in srgb, var(--danger), transparent 68%);
  background: color-mix(in srgb, var(--danger), white 93%);
  min-width: 72px;
  min-height: 72px;
  color: color-mix(in srgb, var(--danger), black 10%);
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  padding: 12px;
  font-size: 18px;
  font-weight: 700;
  display: inline-flex;
}

.adminDocumentsPreviewFallbackBody {
  gap: 10px;
  max-width: 44ch;
  display: grid;
}

.adminDocumentsPreviewFallbackTitle {
  margin: 0;
  font-weight: 700;
}

.adminDocumentsPreviewFallbackMeta {
  overflow-wrap: anywhere;
  gap: 3px;
  display: grid;
}

.adminDocumentsPreviewFallbackActions {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.adminDocumentsInfoGrid {
  gap: 16px;
  display: grid;
}

.adminDocumentsInfoSection {
  gap: 8px;
  display: grid;
}

.adminDocumentsInfoSection + .adminDocumentsInfoSection {
  padding-top: 2px;
}

.adminDocumentsInfoSectionTitle {
  color: color-mix(in srgb, var(--fg), white 38%);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin: 0;
  font-size: .78rem;
  font-weight: 850;
  line-height: 1.2;
}

.adminDocumentsInfoRows {
  gap: 0;
  margin: 0;
  display: grid;
}

.adminDocumentsInfoRow {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  grid-template-columns: minmax(112px, .55fr) minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  padding: 8px 0;
  display: grid;
}

.adminDocumentsInfoRow:first-child {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
}

.adminDocumentsInfoRow dt {
  color: color-mix(in srgb, var(--fg), white 34%);
  font-size: .82rem;
  font-weight: 750;
  line-height: 1.25;
}

.adminDocumentsInfoRow dd {
  min-width: 0;
  color: var(--fg);
  overflow-wrap: anywhere;
  margin: 0;
  font-size: .9rem;
  line-height: 1.28;
}

.adminDocumentsInfoSource {
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 7px;
  display: flex;
}

.adminDocumentsInfoSource .adminDocumentsSourceActor {
  max-width: 160px;
  color: var(--muted);
  flex: 72px;
  font-size: 12.6px;
  font-weight: 650;
  line-height: 1.2;
}

.adminDocumentsRecipientsTableWrap {
  overflow-x: auto;
}

.adminDocumentsRecipientsTable {
  border-collapse: collapse;
  width: 100%;
}

.adminDocumentsRecipientsTable th, .adminDocumentsRecipientsTable td {
  border-bottom: 1px solid var(--stroke);
  text-align: left;
  vertical-align: middle;
  padding: 10px 12px;
}

.adminDocumentsRecipientsTable th {
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: 12px;
}

.adminDocumentsRecipientPerson {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 210px;
  display: inline-grid;
}

.adminDocumentsRecipientAvatar {
  box-shadow: 0 1px 2px color-mix(in srgb, var(--fg), transparent 91%);
}

.adminDocumentsRecipientText {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminDocumentsRecipientName {
  color: var(--fg);
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: 780;
  line-height: 1.18;
  overflow: hidden;
}

.adminDocumentsRecipientMeta {
  color: var(--muted);
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: .76rem;
  line-height: 1.18;
  overflow: hidden;
}

.adminDocumentsSignatureEvidenceCell {
  gap: 4px;
  min-width: 190px;
  max-width: 260px;
  display: grid;
}

.adminDocumentsSignatureEvidenceTag {
  border: 1px solid color-mix(in srgb, var(--ok), transparent 62%);
  background: color-mix(in srgb, var(--ok), white 93%);
  width: fit-content;
  min-height: 24px;
  color: color-mix(in srgb, var(--ok), black 16%);
  border-radius: 999px;
  align-items: center;
  padding: 2px 8px;
  font-size: .75rem;
  font-weight: 800;
  line-height: 1.1;
  display: inline-flex;
}

.adminDocumentsSignatureEvidenceCell small, .adminDocumentsSignatureEvidenceMissing {
  min-width: 0;
  color: var(--muted);
  overflow-wrap: anywhere;
  font-size: .8rem;
  line-height: 1.28;
}

.adminDocumentsSignatureEvidenceDownload {
  width: fit-content;
  min-height: 44px;
  color: var(--focus);
  align-items: center;
  font-size: .8rem;
  font-weight: 800;
  line-height: 1.28;
  text-decoration: none;
  display: inline-flex;
}

.adminDocumentsSignatureEvidenceDownload:hover {
  text-decoration: underline;
}

.adminDocumentsTimeline {
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.adminDocumentsTimelineItem {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  grid-template-columns: 18px minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
  padding: 10px 0;
  display: grid;
  position: relative;
}

.adminDocumentsTimelineItem:first-child {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
}

.adminDocumentsTimelineItem:not(:last-child):after {
  content: "";
  z-index: 0;
  background: color-mix(in srgb, var(--focus), transparent 78%);
  border-radius: 999px;
  width: 2px;
  position: absolute;
  top: 26px;
  bottom: -10px;
  left: 5px;
}

.adminDocumentsTimelineMarker {
  z-index: 1;
  background: var(--focus);
  width: 12px;
  height: 12px;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--focus), transparent 20%);
  border: 2px solid #fff;
  border-radius: 999px;
  margin-top: 3px;
  position: relative;
}

.adminDocumentsTimelineItem.is-complete .adminDocumentsTimelineMarker {
  background: var(--ok);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--ok), transparent 20%);
}

.adminDocumentsTimelineItem.is-danger .adminDocumentsTimelineMarker {
  background: var(--danger);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--danger), transparent 20%);
}

.adminDocumentsTimelineBody {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminDocumentsTimelineAction {
  color: var(--fg);
  font-weight: 760;
  line-height: 1.2;
}

.adminDocumentsTimelineTime {
  color: var(--muted);
  white-space: nowrap;
  font-size: .84rem;
  line-height: 1.2;
}

@media (max-width: 1100px) {
  .adminDocumentsDetailGrid, .adminDocumentsSendLayout {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminDocumentsSendSummaryCard {
    position: static;
  }

  .adminDocumentsSendSummaryBody {
    min-height: 0;
  }

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

  .adminDocumentsDifferentSummaryCard {
    position: static;
  }

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

  .adminDocumentsSummaryMetric:nth-child(odd) {
    border-left: 0;
  }

  .adminDocumentsSummaryMetric:nth-child(n+3) {
    border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  }
}

@media (max-width: 820px) {
  .adminSettingsContent {
    order: -1;
  }

  .adminDocumentsToolbar {
    flex-direction: column;
  }

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

  .adminDocumentsActionBar {
    justify-content: flex-start;
  }

  .adminDocumentsComposerGrid, .adminDocumentsSendModeOptions, .adminDocumentsSendRecipientsGrid, .adminDocumentsRecipientControls {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminDocumentsSendSection {
    border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
    background: linear-gradient(180deg, #fff, color-mix(in srgb, white, var(--bg) 7%));
    border-radius: 13px;
    padding: 15px;
  }

  .adminDocumentsSendSection:first-of-type {
    border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
    padding-top: 15px;
  }

  .adminDocumentsDifferentBody {
    padding: 12px;
  }

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

  .adminDocumentsBatchUploadBox {
    min-height: 0;
  }

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

  .adminDocumentsBatchTableWrap {
    display: none;
  }

  .adminDocumentsBatchMobileRows {
    gap: 10px;
    display: grid;
  }

  .adminDocumentsBatchMobileRow {
    border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
    background: #fff;
    border-radius: 12px;
    gap: 6px;
    padding: 12px;
    display: grid;
  }

  .adminDocumentsBatchMobileRow.hasIssue {
    border-color: color-mix(in srgb, var(--danger), transparent 58%);
    background: color-mix(in srgb, var(--danger), white 97%);
  }

  .adminDocumentsBatchMobileRowHead {
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    display: flex;
  }

  .adminDocumentsFinalRecipientsHeader {
    display: grid;
  }

  .adminDocumentsSelectedWorkersTable {
    min-width: 520px;
  }

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

  .adminDocumentsFileDropzoneIcon {
    display: none;
  }

  .adminDocumentsStatePanel {
    min-height: 150px;
  }

  .adminDocumentsListTop {
    flex-direction: row;
  }

  .adminDocumentsListMobileMain {
    flex: auto;
    min-width: 0;
  }

  .adminDocumentsListBadges {
    flex: none;
    justify-content: flex-start;
  }

  .adminDocumentsListMobileMeta {
    gap: 3px;
    display: grid;
  }

  .adminDocumentsListBottom .adminDocumentsListAction {
    justify-self: start;
    margin-left: auto;
  }

  .adminDocumentsListTitle {
    white-space: normal;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
  }

  .adminDocumentsDetailHeroActions {
    grid-template-columns: 1fr;
    grid-auto-flow: row;
    justify-content: flex-start;
    width: 100%;
    max-width: none;
  }

  .adminDocumentsDetailAction {
    justify-content: center;
  }

  .adminDocumentsPreviewFallback {
    justify-content: flex-start;
    min-height: 180px;
  }

  .adminDocumentsPreviewFallbackTile {
    min-width: 54px;
    min-height: 54px;
    font-size: 16px;
  }

  .adminDocumentsInfoRow {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }

  .adminDocumentsTimelineItem {
    grid-template-columns: 18px minmax(0, 1fr);
  }

  .adminDocumentsTimelineTime {
    white-space: normal;
    grid-column: 2;
  }
}

@media (max-width: 520px) {
  .adminDocumentsComposerActions.adminDocumentsSendReadiness {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminDocumentsComposerActions.adminDocumentsSendReadiness .btn {
    justify-content: center;
    width: 100%;
  }

  .adminDocumentsSendReadyHint {
    grid-column: auto;
  }

  .adminDocumentsSummaryMetric {
    min-height: 78px;
    padding: 11px 13px;
  }

  .adminDocumentsSummaryMetricReading {
    gap: 2px;
    display: grid;
  }

  .adminDocumentsSuccessBanner {
    flex-direction: column;
    align-items: flex-start;
  }

  .adminDocumentsSuccessBannerActions {
    width: 100%;
    margin-left: 0;
  }

  .adminDocumentsSuccessBannerActions .btn {
    flex: 150px;
    justify-content: center;
  }

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

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

  .adminDocumentsBatchReviewActions .btn, .adminDocumentsDifferentActions .btn {
    justify-content: center;
    width: 100%;
  }

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

  .adminDocumentsConfirmDialog {
    padding: 16px;
  }

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

  .adminDocumentsConfirmActions .btn {
    justify-content: center;
    width: 100%;
  }

  .adminDocumentsFileMetaActions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }

  .adminDocumentsPreviewFallback {
    align-items: flex-start;
  }
}

.adminRolesPageSurface {
  box-shadow: none;
  background: none;
  border: 0;
  border-radius: 0;
  gap: 14px;
  padding: 0;
  display: grid;
}

.adminRolesWorkspaceV2 {
  gap: 14px;
}

.adminRolesRoleSelectorStrip {
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: none;
  border-radius: 0;
  gap: 10px;
  padding: 0 0 14px;
}

.adminRolesRoleSelectorStrip .adminRolesRailHeader {
  align-items: center;
  gap: 12px;
}

.adminRolesRoleSelectorStrip .adminRolesRailHeader .adminFinancePanelTitle {
  margin: 1px 0 0;
  font-size: 15px;
}

.adminRolesRoleSelectorStrip .adminRolesList {
  gap: 8px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
}

.adminRolesRoleSelectorStrip .adminRolesListItem {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  min-height: 58px;
  box-shadow: none;
  background: #fff;
  border-radius: 10px;
  padding: 8px 11px;
}

.adminRolesRoleSelectorStrip .adminRolesListItem:hover {
  border-color: color-mix(in srgb, var(--focus), transparent 55%);
  background: color-mix(in srgb, var(--focus), white 98%);
}

.adminRolesRoleSelectorStrip .adminRolesListItem.isActive {
  border-color: color-mix(in srgb, var(--focus), transparent 12%);
  background: color-mix(in srgb, var(--focus), white 97%);
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--focus), transparent 8%);
}

.adminRolesRoleSelectorStrip .adminRolesListItem.isActive:after {
  width: 7px;
  height: 7px;
  top: 10px;
  right: 10px;
}

.adminRolesRoleSelectorStrip .adminRolesListItemDesc {
  display: none;
}

.adminRolesRoleSelectorStrip .adminRolesOverviewPills {
  gap: 5px;
}

.adminRolesRoleSelectorStrip .adminAccessPillWrap .pill, .adminRolesRoleSelectorStrip .adminRolesOverviewPills .pill {
  border-color: color-mix(in srgb, var(--stroke), transparent 16%);
  background: color-mix(in srgb, var(--bg-2), white 60%);
  min-height: 21px;
  padding: 2px 7px;
  font-size: 11px;
}

.adminRolesSelectedOverview {
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: none;
  border-radius: 0;
  gap: 0;
  padding: 15px 0 0;
}

.adminRolesSelectedHeader {
  padding: 0 0 13px;
}

.adminRolesSelectedIntro {
  gap: 4px;
  max-width: 920px;
}

.adminRolesProtectedNotice {
  border-color: color-mix(in srgb, var(--focus), transparent 78%);
  background: color-mix(in srgb, var(--focus), white 97%);
  border-radius: 8px;
  margin-top: 8px;
  padding: 7px 9px;
}

.adminRolesSelectedImpact {
  gap: 0;
}

.adminRolesSelectedOverview .adminRolesImpactStats {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: #fff;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  display: grid;
}

.adminRolesImpactStats button {
  min-height: 54px;
  box-shadow: none;
  background: none;
  border: 0;
  border-radius: 0;
  padding: 9px 13px;
}

.adminRolesImpactStats button:hover {
  background: color-mix(in srgb, var(--focus), white 98%);
}

.adminRolesImpactStats span {
  letter-spacing: .05em;
  text-transform: uppercase;
  font-size: 11px;
}

.adminRolesImpactStats strong {
  font-size: 19px;
}

.adminRolesImpactWarnings {
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--danger), transparent 78%);
  background: none;
  border-radius: 0;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  padding: 9px 0;
  display: grid;
}

.adminRolesImpactWarnings > strong {
  color: color-mix(in srgb, var(--danger), black 18%);
  padding-top: 1px;
  font-size: 12px;
}

.adminRolesImpactWarnings ul {
  flex-wrap: wrap;
  gap: 5px 0;
  display: flex;
}

.adminRolesImpactWarnings li {
  border-left: 1px solid color-mix(in srgb, var(--danger), transparent 78%);
  min-height: 21px;
  color: color-mix(in srgb, var(--danger), black 14%);
  padding: 0 12px;
  font-size: 12px;
  line-height: 1.35;
}

.adminRolesImpactWarnings li:first-child {
  border-left: 0;
  padding-left: 0;
}

.adminRolesSelectedDetails {
  border-top: 0;
  padding: 13px 0 14px;
}

.adminRolesToggle {
  background: none;
  border: 0;
  border-radius: 0;
  min-height: 40px;
  padding: 7px 0;
}

.adminRolesPermissionsSection {
  border-radius: 0;
  gap: 11px;
  border: 0 !important;
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 8%) !important;
  background: none !important;
  padding: 15px 0 0 !important;
}

.adminRolesPermissionsSection > .adminSectionDisclosureToggle {
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
}

.adminRolesPermissionsSection > .adminSectionDisclosureToggle:hover {
  background: none;
}

.adminRolesPermissionsSection > .adminSectionDisclosureBody {
  gap: 11px;
  padding: 0 !important;
}

.adminRolesPermissionsHead {
  padding: 0 0 2px;
}

.adminRolesPermissionsStats {
  gap: 6px;
}

.adminRolesPermissionsStats button {
  background: #fff;
  border-radius: 8px;
  min-height: 30px;
  padding: 5px 9px;
}

.adminRolesMatrixToolbar {
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: none;
  border-radius: 0;
  gap: 10px;
  padding: 0 0 11px;
}

.adminRolesQuickFilters, .adminRolesMatrixToolbarControls {
  gap: 7px;
}

.adminRolesQuickFilters .adminRoleActionBtn {
  border-radius: 8px;
  min-height: 30px;
  padding: 5px 9px;
}

.adminRolesMatrixToolbarControls > input.input {
  flex-basis: 300px;
}

.adminRolesMatrixToolbarControls > .adminRolesMatrixSelect {
  flex: 0 145px;
}

.adminRolesModuleGrid {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 6%);
  background: #fff;
  border-radius: 10px;
  gap: 0;
  overflow: hidden;
}

.adminRolesModuleDetails {
  background: #fff;
  border: 0;
  border-radius: 0;
}

.adminRolesModuleDetails + .adminRolesModuleDetails {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
}

.adminRolesModuleSummary {
  background: #fff;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  display: grid;
}

.adminRolesModuleDetails[open] > .adminRolesModuleSummary {
  background: color-mix(in srgb, var(--bg-2), white 42%);
}

.adminRolesModuleSummary .adminSectionDisclosureToggleMain, .adminRolesModuleSummary .adminSectionDisclosureToggleText, .adminRolesModuleTitleRow {
  align-items: center;
}

.adminRolesModuleSummary .adminRolesModuleTitle {
  color: var(--muted);
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 700;
}

.adminRolesModuleSummary .adminRolesModuleEyebrow {
  color: var(--ink);
  letter-spacing: 0;
  text-transform: none;
  font-size: 13px;
}

.adminRolesModuleSummary .adminSectionDisclosureSummary {
  text-align: right;
  white-space: nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  padding-left: 0;
  font-size: 12px;
  display: inline-flex;
}

.adminRolesModuleDetails .adminRolesModuleCard {
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  background: none;
  border-radius: 0;
  gap: 0;
  padding: 0;
}

.adminRolesMatrixTable {
  font-size: 12px;
}

.adminRolesMatrixTable thead th {
  background: color-mix(in srgb, var(--bg-2), white 32%);
}

.adminRolesDangerZone {
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--danger), transparent 62%);
  background: none;
  border-radius: 0;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 11px 0 0;
  display: grid;
}

.adminRolesDangerZone .btnDanger {
  min-height: 38px;
}

@media (max-width: 900px) {
  .adminRolesSelectedOverview .adminRolesImpactStats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .adminRolesImpactStats button:nth-child(odd) {
    border-left: 0;
  }

  .adminRolesImpactStats button:nth-child(n+3) {
    border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  }

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

@media (max-width: 760px) {
  .adminRolesRoleSelectorStrip {
    padding-bottom: 12px;
  }

  .adminRolesRoleSelectorStrip .adminRolesRailHeader {
    align-items: stretch;
  }

  .adminRolesRoleSelectorStrip .adminRolesRailHeader .btn {
    width: 100%;
  }

  .adminRolesRoleSelectorStrip .adminRolesList {
    scrollbar-width: none;
    scroll-snap-type: x proximity;
    gap: 8px;
    margin-inline: -2px;
    padding: 0 2px 2px;
    display: flex;
    overflow-x: auto;
  }

  .adminRolesRoleSelectorStrip .adminRolesList::-webkit-scrollbar {
    display: none;
  }

  .adminRolesRoleSelectorStrip .adminRolesListItem {
    scroll-snap-align: start;
    flex: 0 0 min(82vw, 300px);
  }

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

  .adminRolesImpactWarnings ul {
    gap: 5px;
    display: grid;
  }

  .adminRolesImpactWarnings li, .adminRolesImpactWarnings li:first-child {
    border-left: 0;
    padding: 0;
  }

  .adminRolesMatrixToolbarControls > input.input, .adminRolesMatrixToolbarControls > .adminRolesMatrixSelect, .adminRolesMatrixToolbarControls > .adminRoleActionBtn {
    flex: 100%;
    max-width: none;
  }

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

  .adminRolesModuleSummary .adminSectionDisclosureSummary {
    text-align: left;
    white-space: normal;
    justify-content: flex-start;
  }

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

.adminDocumentProcessingRuntimeSurface > .adminDocumentProcessingSurfaceBody {
  padding: 0;
}

.adminDocumentProcessingRuntimeSurface .adminDocumentProcessingSection {
  gap: 0;
}

.adminDocumentProcessingRuntimeSurface .adminDocumentProcessingSectionHead {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  padding: 10px 12px;
}

.adminDocumentProcessingRuntimeSurface .adminDocumentProcessingRuntimeGrid {
  border-top: 0;
}

.adminDocumentProcessingRuntimeSurface .adminDocumentProcessingDiagnostics {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  margin: 0;
  padding: 0;
}

.adminDocumentProcessingRuntimeSurface .adminDocumentProcessingDiagnostics > .adminCompactDisclosureSummary {
  min-height: 30px;
  padding: 6px 12px;
}

.adminDocumentProcessingRuntimeSurface .adminDocumentProcessingDiagnostics > .adminCompactDisclosureSummary strong {
  font-size: 12.5px;
}

.adminDocumentProcessingWorkbenchSurface {
  background: none;
  border: 0;
}

.adminDocumentProcessingWorkbenchSurface > .adminDocumentProcessingSurfaceBody {
  padding: 0;
}

.adminDocumentProcessingWorkbenchSurface .adminDocumentProcessingSection {
  gap: 10px;
}

.adminDocumentProcessingWorkbenchSurface .adminDocumentProcessingSection > .adminDocumentProcessingSectionHead {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: #fff;
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  align-items: center;
  padding: 10px 12px;
}

.adminDocumentProcessingForm {
  gap: 10px;
}

.adminDocumentProcessingGlobalSaveBar {
  min-width: 0;
  box-shadow: none;
  background: none;
  border: 0;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 0;
  display: flex;
}

.adminDocumentProcessingGlobalSaveMeta, .adminDocumentProcessingGlobalSaveActions {
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.adminDocumentProcessingGlobalSaveMeta .adminSettingsFieldHint {
  white-space: nowrap;
  margin: 0;
  font-size: 11.5px;
  line-height: 1.25;
}

.adminDocumentProcessingGlobalSaveActions {
  flex: none;
  justify-content: flex-end;
}

.adminDocumentProcessingGlobalSaveActions .btn {
  min-height: 32px;
  padding-inline: 11px;
}

.adminDocumentProcessingDangerousPanel {
  border: 1px solid color-mix(in srgb, var(--warn), var(--stroke) 58%);
  background: color-mix(in srgb, var(--warn), #fff 93%);
  border-radius: 8px;
  grid-template-columns: minmax(280px, 1fr) minmax(320px, .72fr);
  align-items: start;
  gap: 10px 18px;
  min-width: 0;
  padding: 10px 12px;
  display: grid;
}

.adminDocumentProcessingDangerousPanel.isCompact {
  grid-column: 1 / -1;
  margin-top: 2px;
}

.adminDocumentProcessingDangerousSummary {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingDangerousSummary strong {
  color: color-mix(in srgb, var(--warn), #111 52%);
}

.adminDocumentProcessingDangerousSummary .adminSettingsFieldHint {
  margin: 0;
}

.adminDocumentProcessingDangerousSummary ul {
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.adminDocumentProcessingDangerousSummary li {
  border-top: 1px solid color-mix(in srgb, var(--warn), transparent 72%);
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
  padding-top: 4px;
  font-size: 12px;
  display: grid;
}

.adminDocumentProcessingDangerousSummary li span:first-child {
  min-width: 0;
}

.adminDocumentProcessingDangerousSummary li .mono {
  overflow-wrap: anywhere;
  text-align: right;
}

.adminDocumentProcessingDangerousFields {
  gap: 8px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingDangerousFields .field {
  border: 0;
  gap: 5px;
  padding: 0;
}

.adminDocumentProcessingPolicyActionGrid, .adminDocumentProcessingProfileStackShell, .adminDocumentProcessingParserConfigSurface, .adminDocumentProcessingMailboxOps, .adminDocumentProcessingMailboxGrid, .adminDocumentProcessingPromptLayout {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
}

.adminDocumentProcessingPolicyActionGrid {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

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

.adminDocumentProcessingPolicyColumn > .adminDocumentProcessingFormSection {
  gap: 7px;
  min-width: 0;
  padding: 11px 12px;
}

.adminDocumentProcessingPolicyColumn > .adminDocumentProcessingFormSection + .adminDocumentProcessingFormSection {
  border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
}

.adminDocumentProcessingPolicyColumn .adminSettingsChecklistTitle, .adminDocumentProcessingActionsPanel > .adminSettingsChecklistTitle, .adminDocumentProcessingStackCard .adminSettingsChecklistTitle, .adminDocumentProcessingMailboxGrid .adminSettingsChecklistTitle {
  font-size: 13px;
  line-height: 1.2;
}

.adminDocumentProcessingRuntimeControlSection .adminSettingsChecklistTitle {
  max-width: 13rem;
}

.adminDocumentProcessingActionsPanel {
  border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  padding: 11px 12px;
}

.adminDocumentProcessingActionList, .adminDocumentProcessingLedgerFields, .adminDocumentProcessingProfileGrid, .adminDocumentProcessingStackList {
  border-color: color-mix(in srgb, var(--stroke), transparent 14%);
}

.adminDocumentProcessingActionRow, .adminDocumentProcessingLedgerFields > .field {
  padding-block: 6px;
}

.adminDocumentProcessingProfileStackShell {
  gap: 0;
  display: grid;
}

.adminDocumentProcessingProfileStackShell > .adminDocumentProcessingSectionHead, .adminDocumentProcessingParserConfigSurface > .adminDocumentProcessingSectionHead {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  padding: 10px 12px;
}

.adminDocumentProcessingProfileGrid {
  border-top: 0;
  border-bottom: 0;
}

.adminDocumentProcessingProfileSummary {
  min-height: 44px;
  padding: 7px 12px;
}

.adminDocumentProcessingParserConfigSurface {
  gap: 0;
  display: grid;
}

.adminDocumentProcessingParserConfigGrid {
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingParserConfigGrid .adminDocumentProcessingStackGrid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
}

.adminDocumentProcessingParserConfigGrid .adminDocumentProcessingStackCard {
  padding: 11px 12px;
}

.adminDocumentProcessingParserConfigGrid .adminDocumentProcessingStackCard + .adminDocumentProcessingStackCard {
  border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
}

.adminDocumentProcessingStackCard .adminDocumentProcessingStageHead {
  margin-bottom: 7px;
}

.adminDocumentProcessingLimitsPanel {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  align-content: start;
  gap: 8px;
  min-width: 0;
  padding: 11px 12px;
  display: grid;
}

.adminDocumentProcessingLimitsPanel .adminDocumentProcessingSupportGrid {
  border-top: 0;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 8px 9px;
  padding-top: 0;
}

.adminDocumentProcessingSupportCard .label {
  text-overflow: clip;
  white-space: normal;
  margin-bottom: 4px;
  line-height: 1.25;
  display: block;
  overflow: hidden;
}

.adminDocumentProcessingSupportSummary {
  background: none;
  border: 0;
  gap: 5px;
  margin-top: 5px;
  padding: 0;
  display: grid;
}

.adminDocumentProcessingUsageMetric {
  border-left: 3px solid color-mix(in srgb, var(--focus), transparent 28%);
  min-width: 0;
  color: color-mix(in srgb, var(--fg), var(--focus) 14%);
  grid-template-columns: minmax(96px, 1fr) auto auto;
  align-items: center;
  gap: 5px 8px;
  padding-left: 9px;
  display: grid;
}

.adminDocumentProcessingUsageLabel {
  color: color-mix(in srgb, var(--muted), var(--fg) 18%);
  letter-spacing: .052em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1.15;
  overflow: hidden;
}

.adminDocumentProcessingUsageCount {
  color: var(--fg);
  white-space: nowrap;
  font-size: 12.5px;
  font-weight: 800;
  line-height: 1.1;
}

.adminDocumentProcessingUsageCount span {
  color: var(--muted);
  font-weight: 650;
}

.adminDocumentProcessingUsageMeta, .adminDocumentProcessingUsageReset {
  color: var(--muted);
  white-space: nowrap;
  font-size: 10.7px;
  font-weight: 650;
  line-height: 1.15;
}

.adminDocumentProcessingUsageReset {
  color: color-mix(in srgb, var(--focus), var(--fg) 22%);
  grid-column: 2 / -1;
  justify-self: end;
}

.adminDocumentProcessingMailboxOps {
  gap: 0;
  padding: 0;
  display: grid;
}

.adminDocumentProcessingMailboxOps > .adminDocumentProcessingSectionHead {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  padding: 10px 12px;
}

.adminDocumentProcessingMailboxOpsGrid {
  grid-template-columns: minmax(0, 1fr) minmax(380px, 1fr);
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingMailboxOpsMain {
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  align-self: start;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingMailboxOpsMain > .adminDocumentProcessingActionRow {
  border-bottom: 0;
  grid-template-columns: minmax(0, 1.65fr) minmax(160px, 1fr);
  align-content: start;
  align-items: start;
  gap: 8px 14px;
  padding: 14px 12px;
}

.adminDocumentProcessingMailboxOpsMain > .adminDocumentProcessingActionRow + .adminDocumentProcessingActionRow {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-left: 0;
}

.adminDocumentProcessingMailboxOpsMain > .adminDocumentProcessingActionRow > :first-child, .adminDocumentProcessingMailboxOpsMain > .adminDocumentProcessingActionRow > .adminChoiceFieldGroup {
  grid-column: 1;
}

.adminDocumentProcessingMailboxOpsMain > .adminDocumentProcessingActionRow > .adminDocumentProcessingProbeFields, .adminDocumentProcessingMailboxOpsMain > .adminDocumentProcessingActionRow > .field, .adminDocumentProcessingMailboxOpsMain > .adminDocumentProcessingActionRow > p.adminSettingsFieldHint, .adminDocumentProcessingMailboxOpsMain > .adminDocumentProcessingActionRow > .btn {
  grid-column: 2;
}

.adminDocumentProcessingMailboxOpsMain > .adminDocumentProcessingActionRow > .adminDocumentProcessingProbeResult, .adminDocumentProcessingMailboxOpsMain > .adminDocumentProcessingActionRow > .adminDocumentProcessingDangerousPanel {
  grid-column: 1 / -1;
}

.adminDocumentProcessingMailboxOpsMain .adminDocumentProcessingActionRow .btn {
  justify-self: stretch;
  width: 100%;
  min-height: 44px;
}

.adminDocumentProcessingActionTitle {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  min-width: 0;
  display: flex;
}

.adminDocumentProcessingActionImpact {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  background: color-mix(in srgb, var(--bg-2), #fff 58%);
  min-height: 20px;
  color: color-mix(in srgb, var(--muted), var(--fg) 26%);
  border-radius: 999px;
  align-items: center;
  padding: 2px 6px;
  font-size: 10.5px;
  font-weight: 760;
  line-height: 1.1;
  display: inline-flex;
}

.adminDocumentProcessingActionImpact.isReadOnly {
  border-color: color-mix(in srgb, var(--focus), transparent 62%);
  background: color-mix(in srgb, var(--focus), #fff 93%);
  color: color-mix(in srgb, var(--focus), #111 28%);
}

.adminDocumentProcessingActionImpact.isPersistent {
  border-color: color-mix(in srgb, var(--warn), transparent 58%);
  background: color-mix(in srgb, var(--warn), #fff 93%);
  color: color-mix(in srgb, var(--warn), #111 50%);
}

.adminDocumentProcessingActionImpact.isExecution {
  border-color: color-mix(in srgb, var(--accent), transparent 58%);
  background: color-mix(in srgb, var(--accent), #fff 92%);
  color: color-mix(in srgb, var(--accent), #111 52%);
}

.adminDocumentProcessingMailboxSyncPanel {
  border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: #fff;
  align-content: start;
  align-self: start;
  gap: 12px;
  min-width: 0;
  padding: 14px 16px;
  display: grid;
}

.adminDocumentProcessingMailboxSyncHead {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
  min-width: 0;
  padding-bottom: 12px;
  display: grid;
}

.adminDocumentProcessingMailboxSyncHead strong {
  font-size: 12.5px;
  line-height: 1.25;
}

.adminDocumentProcessingMailboxSyncHead .btn {
  white-space: nowrap;
  min-width: 116px;
  min-height: 44px;
}

.adminDocumentProcessingMailboxAdvanced {
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  background: color-mix(in srgb, var(--bg-2), #fff 72%);
  border-radius: 0;
  grid-column: 1 / -1;
  gap: 0;
  min-width: 0;
}

.adminDocumentProcessingMailboxAdvancedSummary {
  align-items: center;
  min-height: 48px;
  padding: 9px 12px;
}

.adminDocumentProcessingMailboxAdvancedSummary:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--focus), transparent 26%);
  outline-offset: -3px;
  border-radius: 6px;
}

.adminDocumentProcessingMailboxAdvancedSummary > span:first-child {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingMailboxAdvancedSummary strong {
  font-size: 13px;
  line-height: 1.25;
}

.adminDocumentProcessingMailboxAdvancedSummary .adminSettingsFieldHint {
  margin: 0;
}

.adminDocumentProcessingMailboxAdvancedChevron {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  width: 24px;
  height: 24px;
  color: var(--muted);
  background: #fff;
  border-radius: 999px;
  flex: none;
  place-items: center;
  font-size: 17px;
  font-weight: 650;
  line-height: 1;
  display: inline-grid;
}

.adminDocumentProcessingMailboxAdvanced[open] .adminDocumentProcessingMailboxAdvancedChevron {
  transform: rotate(45deg);
}

.adminDocumentProcessingMailboxAdvancedBody {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: #fff;
  gap: 0;
  min-width: 0;
  padding: 0 12px 12px;
  display: grid;
}

.adminDocumentProcessingMailboxStatusHead {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.adminDocumentProcessingMailboxStatusHead strong {
  font-size: 13px;
  line-height: 1.25;
  display: block;
}

.adminDocumentProcessingMailboxStatusHead .btn {
  white-space: nowrap;
  min-height: 28px;
  padding: 0 9px;
  font-size: 11.5px;
}

.adminDocumentProcessingMailboxStatusGrid {
  background: none;
  border: 0;
  border-radius: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  display: grid;
  overflow: visible;
}

.adminDocumentProcessingMailboxStatusGrid .adminDocumentProcessingRuntimeItem {
  border-bottom: 0;
  border-right: 0;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.15fr);
  align-items: start;
  min-height: 34px;
  padding: 6px 0;
}

.adminDocumentProcessingMailboxStatusGrid .adminDocumentProcessingRuntimeItem .label {
  text-overflow: clip;
  white-space: normal;
  min-width: 0;
  line-height: 1.25;
  overflow: visible;
}

.adminDocumentProcessingMailboxStatusGrid .adminDocumentProcessingRuntimeItem strong, .adminDocumentProcessingMailboxStatusGrid .adminDocumentProcessingRuntimeItem .adminDocumentProcessingTextBreak {
  text-align: left;
  overflow-wrap: anywhere;
  white-space: normal;
  justify-self: start;
  min-width: 0;
}

.adminDocumentProcessingMailboxStatusGrid .adminDocumentProcessingRuntimeItem:nth-child(n+2) {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
}

.adminDocumentProcessingMailboxStatusGrid .adminDocumentProcessingRuntimeItemWide {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.15fr);
}

.adminDocumentProcessingRetentionGrid {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  display: grid;
  overflow: visible;
}

.adminDocumentProcessingRetentionGrid .adminDocumentProcessingRuntimeItem, .adminDocumentProcessingRetentionGrid .adminDocumentProcessingRuntimeItemWide {
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 4px;
  min-height: auto;
  padding: 8px 0;
}

.adminDocumentProcessingRetentionGrid .adminDocumentProcessingRuntimeItem:nth-child(n+2) {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
}

.adminDocumentProcessingRetentionGrid .adminDocumentProcessingRuntimeItem .label {
  text-overflow: clip;
  white-space: normal;
  overflow: visible;
}

.adminDocumentProcessingRetentionValue {
  text-align: left;
  text-overflow: clip;
  white-space: normal;
  word-break: normal;
  min-width: 0;
  overflow: visible;
}

.adminDocumentProcessingRetentionLongValue {
  text-align: left;
  overflow-wrap: break-word;
  min-width: 0;
}

.adminDocumentProcessingCatchUpPanel, .adminDocumentProcessingMailboxActivityPanel, .adminDocumentProcessingHistoricalPanel, .adminDocumentProcessingReconciliationPanel, .adminDocumentProcessingAcceptancePanel, .adminDocumentProcessingPostLaunchPanel, .adminDocumentProcessingIncidentPanel, .adminDocumentProcessingRetentionPanel {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  gap: 10px;
  padding-top: 12px;
  display: grid;
}

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

.adminDocumentProcessingCatchUpStatusGrid .adminDocumentProcessingRuntimeItem, .adminDocumentProcessingCatchUpStatusGrid .adminDocumentProcessingRuntimeItemWide {
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 4px;
  min-height: auto;
  padding: 8px 0;
}

.adminDocumentProcessingCatchUpStatusGrid .adminDocumentProcessingRuntimeItem .label {
  text-overflow: clip;
  white-space: normal;
  min-width: 0;
  line-height: 1.25;
  overflow: visible;
}

.adminDocumentProcessingCatchUpStatusGrid .adminDocumentProcessingRuntimeItem strong, .adminDocumentProcessingCatchUpStatusGrid .adminDocumentProcessingRuntimeItem .adminDocumentProcessingTextBreak {
  text-align: left;
  overflow-wrap: anywhere;
  white-space: normal;
  justify-self: start;
  min-width: 0;
}

.adminDocumentProcessingCatchUpNote {
  max-width: 72ch;
}

.adminDocumentProcessingHistoricalPanel {
  padding: 14px 12px;
}

.adminDocumentProcessingHistoricalGrid {
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  gap: 14px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingHistoricalControls, .adminDocumentProcessingHistoricalEvidence {
  align-content: start;
  gap: 12px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingHistoricalEvidence {
  border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  padding-left: 14px;
}

.adminDocumentProcessingHistoricalControlGroup {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  gap: 10px;
  min-width: 0;
  padding-bottom: 12px;
  display: grid;
}

.adminDocumentProcessingHistoricalFields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingHistoricalReason {
  resize: vertical;
  min-height: 74px;
}

.adminDocumentProcessingHistoricalActions {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.adminDocumentProcessingHistoricalActions .btn {
  flex: 136px;
  min-height: 34px;
}

.adminDocumentProcessingHistoricalStatusGrid .adminDocumentProcessingRuntimeItem, .adminDocumentProcessingHistoricalStatusGrid .adminDocumentProcessingRuntimeItemWide {
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  align-items: start;
  gap: 8px;
  min-height: auto;
  padding: 7px 0;
}

.adminDocumentProcessingHistoricalStatusGrid .adminDocumentProcessingRuntimeItem .label {
  text-overflow: clip;
  white-space: normal;
  min-width: 0;
  line-height: 1.25;
  overflow: visible;
}

.adminDocumentProcessingHistoricalStatusGrid .adminDocumentProcessingRuntimeItem strong, .adminDocumentProcessingHistoricalStatusGrid .adminDocumentProcessingRuntimeItem .adminDocumentProcessingTextBreak {
  text-align: left;
  overflow-wrap: anywhere;
  white-space: normal;
  justify-self: start;
  min-width: 0;
}

.adminDocumentProcessingHistoricalStatusGrid .adminDocumentProcessingRuntimeItem:nth-child(n+2) {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
}

.adminDocumentProcessingHistoricalNote {
  max-width: 82ch;
}

.adminDocumentProcessingReconciliationActions {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  display: flex;
}

.adminDocumentProcessingReconciliationActions .btn {
  white-space: nowrap;
  min-height: 30px;
  padding: 0 10px;
}

.adminDocumentProcessingReconciliationStatusGrid .adminDocumentProcessingRuntimeItem {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
}

.adminDocumentProcessingReconciliationChecks, .adminDocumentProcessingReconciliationLinks, .adminDocumentProcessingReconciliationWarnings {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  gap: 8px;
  padding-top: 10px;
  display: grid;
}

.adminDocumentProcessingReconciliationChecks > strong, .adminDocumentProcessingReconciliationLinks > .adminDocumentProcessingMailboxStatusHead > strong, .adminDocumentProcessingReconciliationWarnings > strong {
  font-size: 12.5px;
  line-height: 1.25;
}

.adminDocumentProcessingReconciliationCheck, .adminDocumentProcessingReconciliationLinkRow {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  align-items: start;
  gap: 8px;
  min-width: 0;
  padding: 7px 0;
  display: grid;
}

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

.adminDocumentProcessingReconciliationCheck:first-of-type, .adminDocumentProcessingReconciliationLinkRow:first-of-type {
  border-top: 0;
}

.adminDocumentProcessingReconciliationCheck strong {
  font-size: 12px;
  line-height: 1.25;
  display: block;
}

.adminDocumentProcessingReconciliationCheck .adminSettingsFieldHint {
  margin-top: 2px;
}

.adminDocumentProcessingReconciliationLinkRow {
  grid-template-columns: auto minmax(126px, .65fr) minmax(68px, .35fr) minmax(0, 1fr);
  font-size: 12px;
}

.adminDocumentProcessingReconciliationLinkRow a {
  overflow-wrap: anywhere;
  min-width: 0;
}

.adminDocumentProcessingReconciliationWarnings .adminSettingsFieldHint {
  overflow-wrap: anywhere;
  margin: 0;
}

.adminDocumentProcessingAcceptanceStatusGrid .adminDocumentProcessingRuntimeItem, .adminDocumentProcessingAcceptanceStatusGrid .adminDocumentProcessingRuntimeItemWide {
  grid-template-columns: minmax(0, 1fr);
  gap: 4px;
}

.adminDocumentProcessingAcceptanceStatusGrid .adminDocumentProcessingRuntimeItemWide {
  grid-column: auto;
}

.adminDocumentProcessingAcceptanceLanes {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  display: grid;
}

.adminDocumentProcessingAcceptanceLane {
  align-content: start;
  gap: 9px;
  min-width: 0;
  padding: 10px;
  display: grid;
}

.adminDocumentProcessingAcceptanceLane + .adminDocumentProcessingAcceptanceLane {
  border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
}

.adminDocumentProcessingAcceptanceLaneHead {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.adminDocumentProcessingAcceptanceLaneHead strong, .adminDocumentProcessingAcceptanceLinks strong {
  font-size: 12.5px;
  line-height: 1.25;
}

.adminDocumentProcessingAcceptanceCounts {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingAcceptanceCount {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  min-width: 0;
  padding: 6px 0;
  display: grid;
}

.adminDocumentProcessingAcceptanceCount:first-child {
  border-top: 0;
}

.adminDocumentProcessingAcceptanceCount .label {
  min-width: 0;
  color: var(--muted);
  text-transform: uppercase;
  white-space: normal;
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1.2;
  overflow: visible;
}

.adminDocumentProcessingAcceptanceCount strong {
  text-align: right;
  min-width: 2ch;
}

.adminDocumentProcessingAcceptanceGates, .adminDocumentProcessingAcceptanceLinks {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  gap: 8px;
  padding-top: 10px;
  display: grid;
}

.adminDocumentProcessingAcceptanceGate {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  min-width: 0;
  padding: 7px 0;
  display: grid;
}

.adminDocumentProcessingAcceptanceGate:first-child {
  border-top: 0;
}

.adminDocumentProcessingAcceptanceGate strong {
  font-size: 12px;
  line-height: 1.25;
  display: block;
}

.adminDocumentProcessingAcceptanceGate .adminSettingsFieldHint {
  overflow-wrap: anywhere;
  margin-top: 2px;
}

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

.adminDocumentProcessingAcceptanceLinks > div {
  align-content: start;
  gap: 6px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingAcceptanceLink {
  overflow-wrap: anywhere;
  min-width: 0;
  font-size: 12px;
  line-height: 1.25;
}

.adminDocumentProcessingAcceptanceRedactions {
  margin: 0;
}

.adminDocumentProcessingPostLaunchSignals .adminDocumentProcessingRuntimeItem, .adminDocumentProcessingPostLaunchSignals .adminDocumentProcessingRuntimeItemWide {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
}

.adminDocumentProcessingPostLaunchGroups {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  display: grid;
}

.adminDocumentProcessingPostLaunchGroup {
  align-content: start;
  gap: 7px;
  min-width: 0;
  padding: 9px 10px;
  display: grid;
}

.adminDocumentProcessingPostLaunchGroup + .adminDocumentProcessingPostLaunchGroup {
  border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
}

.adminDocumentProcessingPostLaunchGroup > strong {
  font-size: 12.5px;
  line-height: 1.25;
}

.adminDocumentProcessingPostLaunchTask {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  min-width: 0;
  padding: 7px 0;
  display: grid;
}

.adminDocumentProcessingPostLaunchTask:first-of-type {
  border-top: 0;
}

.adminDocumentProcessingPostLaunchTask strong {
  font-size: 12px;
  line-height: 1.25;
  display: block;
}

.adminDocumentProcessingPostLaunchTask .adminSettingsFieldHint {
  margin-top: 2px;
}

.adminDocumentProcessingPostLaunchFooter {
  gap: 9px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingPostLaunchFooter > div {
  gap: 5px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingPostLaunchRoles {
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
  display: flex;
}

.adminDocumentProcessingPostLaunchReport {
  margin: 0;
}

.adminDocumentProcessingIncidentSummary {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  display: grid;
}

.adminDocumentProcessingIncidentSummary .adminDocumentProcessingRuntimeItem {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
  min-height: auto;
  padding: 8px 10px;
}

.adminDocumentProcessingIncidentSummary .adminDocumentProcessingRuntimeItem + .adminDocumentProcessingRuntimeItem {
  border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
}

.adminDocumentProcessingIncidentScenarios {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  display: grid;
}

.adminDocumentProcessingIncidentScenario {
  align-content: start;
  gap: 8px;
  min-width: 0;
  padding: 10px;
  display: grid;
}

.adminDocumentProcessingIncidentScenario:nth-child(2n) {
  border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
}

.adminDocumentProcessingIncidentScenario:nth-child(n+3) {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
}

.adminDocumentProcessingIncidentScenarioHead {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingIncidentScenarioHead strong {
  overflow-wrap: anywhere;
  min-width: 0;
  font-size: 12.5px;
  line-height: 1.25;
}

.adminDocumentProcessingIncidentEvidence, .adminDocumentProcessingIncidentDrills > div {
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
  display: flex;
}

.adminDocumentProcessingIncidentActions {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingIncidentActions > div, .adminDocumentProcessingIncidentBoundaries > div {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingIncidentActions .adminSettingsFieldHint, .adminDocumentProcessingIncidentBoundaries .adminSettingsFieldHint {
  overflow-wrap: anywhere;
  margin: 0;
}

.adminDocumentProcessingIncidentDrills, .adminDocumentProcessingIncidentBoundaries {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  gap: 8px;
  min-width: 0;
  padding-top: 10px;
  display: grid;
}

.adminDocumentProcessingIncidentDrills > strong, .adminDocumentProcessingIncidentBoundaries strong {
  font-size: 12.5px;
  line-height: 1.25;
}

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

.adminDocumentProcessingMailboxAttentionList {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  gap: 7px;
  padding-top: 10px;
  display: grid;
}

.adminDocumentProcessingMailboxAttentionList > strong {
  font-size: 12.5px;
  line-height: 1.25;
}

.adminDocumentProcessingMailboxAttentionItem {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  grid-template-columns: auto minmax(112px, .5fr) minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
  min-height: 32px;
  padding: 6px 0;
  display: grid;
}

.adminDocumentProcessingCatchUpProfile {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  gap: 10px;
  margin-top: 14px;
  padding-top: 12px;
  display: grid;
}

.adminDocumentProcessingCatchUpProfile > div:first-child strong {
  font-size: 13px;
  line-height: 1.25;
  display: block;
}

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

.adminDocumentProcessingCatchUpProfileGrid > div {
  border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  gap: 4px;
  min-width: 0;
  padding: 0 12px;
  display: grid;
}

.adminDocumentProcessingCatchUpProfileGrid > div:first-child {
  border-left: 0;
  padding-left: 0;
}

.adminDocumentProcessingCatchUpProfileGrid strong {
  overflow-wrap: anywhere;
  font-size: 12.5px;
  line-height: 1.3;
}

.adminDocumentProcessingProviderCompatibilityGrid {
  grid-template-columns: minmax(132px, .7fr) minmax(132px, .8fr) minmax(160px, 1fr) minmax(132px, .8fr);
  gap: 0;
  display: grid;
}

.adminDocumentProcessingProviderCompatibilityGrid > div {
  border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  gap: 4px;
  min-width: 0;
  padding: 0 12px;
  display: grid;
}

.adminDocumentProcessingProviderCompatibilityGrid > div:first-child {
  border-left: 0;
  padding-left: 0;
}

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

.adminDocumentProcessingProviderCheck {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  grid-template-columns: minmax(150px, max-content) minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding-top: 6px;
  display: grid;
}

.adminDocumentProcessingProviderCheckEvidence {
  overflow-wrap: anywhere;
  min-width: 0;
  font-size: 12px;
  line-height: 1.3;
}

.adminMailboxOccurrencesPage {
  gap: 12px;
  display: grid;
}

.adminMailboxOccurrencesShell {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: #fff;
  border-radius: 8px;
  grid-template-columns: minmax(300px, .28fr) minmax(0, 1fr);
  min-width: 0;
  display: grid;
  overflow: hidden;
}

.adminMailboxOccurrencesFilters {
  border-right: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  background: color-mix(in srgb, var(--bg-2), #fff 78%);
  align-content: start;
  gap: 9px;
  min-width: 0;
  padding: 12px;
  display: grid;
}

.adminMailboxOccurrencesFilters .adminDocumentProcessingSectionHead {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  padding-bottom: 7px;
}

.adminMailboxOccurrencesFilters .adminDocumentProcessingSectionHead h2 {
  font-size: 14px;
  line-height: 1.2;
}

.adminMailboxOccurrencesFilters .adminSettingsField {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 5px;
  min-width: 0;
  display: grid;
}

.adminMailboxOccurrencesFilters .adminSettingsField > span, .adminMailboxOccurrencesMeta dt {
  color: var(--muted);
  letter-spacing: .052em;
  text-transform: uppercase;
  font-size: 10.5px;
  font-weight: 760;
  line-height: 1.1;
}

.adminMailboxOccurrencesFilters input, .adminMailboxOccurrencesFilters select {
  width: 100%;
  min-height: 34px;
  font-size: 13px;
}

.adminMailboxOccurrencesTwoFields {
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  min-width: 0;
  display: grid;
}

.adminMailboxOccurrencesActions {
  gap: 8px;
  padding-top: 4px;
  display: grid;
}

.adminMailboxOccurrencesActions .btn {
  justify-content: center;
  width: 100%;
}

.adminMailboxOccurrencesMain {
  align-content: start;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  display: grid;
}

.adminMailboxOccurrencesListHead {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding-bottom: 10px;
  display: flex;
}

.adminMailboxOccurrencesListHead h2 {
  font-size: 16px;
  line-height: 1.2;
}

.adminMailboxOccurrencesGrid {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: #fff;
  border-radius: 8px;
  grid-template-columns: minmax(360px, .48fr) minmax(360px, .52fr);
  min-width: 0;
  display: grid;
  overflow: hidden;
}

.adminMailboxOccurrencesRows {
  border-right: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  align-content: start;
  min-width: 0;
  display: grid;
}

.adminMailboxOccurrenceRow {
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  min-width: 0;
  min-height: 76px;
  color: var(--fg);
  text-align: left;
  cursor: pointer;
  background: #fff;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 5px 10px;
  padding: 9px 10px;
  display: grid;
}

.adminMailboxOccurrenceRow > .pill:first-child {
  grid-area: 1 / 1;
}

.adminMailboxOccurrenceRow > strong.mono {
  grid-area: 2 / 1;
  align-self: center;
}

.adminMailboxOccurrenceRow > .adminMailboxOccurrenceSubject {
  grid-area: 1 / 2;
  font-weight: 700;
  line-height: 1.25;
}

.adminMailboxOccurrenceRow > .muted {
  grid-area: 2 / 2;
  line-height: 1.2;
}

.adminMailboxOccurrenceRow > .pill:nth-child(5) {
  grid-area: 3 / 1;
}

.adminMailboxOccurrenceRow > .mono:nth-child(6) {
  color: var(--muted);
  grid-area: 3 / 2;
  font-size: 11.5px;
  line-height: 1.2;
}

.adminMailboxOccurrenceRow:hover, .adminMailboxOccurrenceRow:focus-visible, .adminMailboxOccurrenceRow.isSelected {
  background: color-mix(in srgb, var(--focus), #fff 96%);
}

.adminMailboxOccurrenceRow.isSelected {
  box-shadow: inset 3px 0 0 var(--focus);
}

.adminMailboxOccurrenceSubject, .adminMailboxOccurrencesMeta dd, .adminMailboxOccurrenceAttachmentTop strong, .adminMailboxOccurrenceAttachmentMeta span {
  overflow-wrap: anywhere;
  min-width: 0;
}

.adminMailboxOccurrenceRow .pill, .adminMailboxOccurrencesPillRow .pill, .adminMailboxOccurrenceAttachmentTop .pill {
  justify-self: start;
  min-height: 22px;
  padding: 0 7px;
  font-size: 10.5px;
}

.adminMailboxOccurrencesDetail {
  background: color-mix(in srgb, var(--bg-2), #fff 72%);
  align-content: start;
  gap: 12px;
  min-width: 0;
  padding: 12px;
  display: grid;
}

.adminMailboxOccurrencesDetailHead {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  min-width: 0;
  display: grid;
}

.adminMailboxOccurrencesDetailHead h2 {
  font-size: 16px;
  line-height: 1.2;
}

.adminMailboxOccurrencesPillRow {
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
  display: flex;
}

.adminMailboxOccurrencesMeta {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  background: #fff;
  border-radius: 8px;
  gap: 0;
  display: grid;
  overflow: hidden;
}

.adminMailboxOccurrencesMeta > div {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  grid-template-columns: minmax(104px, .34fr) minmax(0, 1fr);
  gap: 10px;
  min-width: 0;
  padding: 7px 9px;
  display: grid;
}

.adminMailboxOccurrencesMeta > div:last-child {
  border-bottom: 0;
}

.adminMailboxOccurrencesMeta dt, .adminMailboxOccurrencesMeta dd {
  margin: 0;
}

.adminMailboxResolutionPanel {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: #fff;
  border-radius: 8px;
  gap: 10px;
  min-width: 0;
  padding: 10px;
  display: grid;
}

.adminMailboxResolutionHead {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  grid-template-columns: auto minmax(0, 1fr);
  gap: 9px;
  min-width: 0;
  padding-bottom: 8px;
  display: grid;
}

.adminMailboxResolutionHead h3, .adminMailboxResolutionHistory h4 {
  font-size: 13.5px;
  line-height: 1.2;
}

.adminMailboxResolutionHead p {
  color: var(--muted);
  margin: 3px 0 0;
  font-size: 12px;
  line-height: 1.35;
}

.adminMailboxResolutionSummary {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  background: color-mix(in srgb, var(--bg-2), #fff 82%);
  border-radius: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  display: grid;
  overflow: hidden;
}

.adminMailboxResolutionSummary > div {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  gap: 3px;
  min-width: 0;
  padding: 7px 8px;
  display: grid;
}

.adminMailboxResolutionSummary > div:nth-child(odd) {
  border-right: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
}

.adminMailboxResolutionSummary > div:nth-last-child(-n+2) {
  border-bottom: 0;
}

.adminMailboxResolutionSummary dt, .adminMailboxResolutionSummary dd {
  min-width: 0;
  margin: 0;
}

.adminMailboxResolutionSummary dt, .adminMailboxResolutionPanel .adminSettingsField > span {
  color: var(--muted);
  letter-spacing: .052em;
  text-transform: uppercase;
  font-size: 10.5px;
  font-weight: 760;
  line-height: 1.1;
}

.adminMailboxResolutionPanel .adminSettingsField {
  gap: 5px;
  min-width: 0;
  display: grid;
}

.adminMailboxHandoffControls {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
  display: grid;
}

.adminMailboxResolutionPanel textarea, .adminMailboxResolutionPanel input, .adminMailboxResolutionPanel select {
  width: 100%;
  font-size: 13px;
}

.adminMailboxResolutionPanel textarea {
  resize: vertical;
  min-height: 82px;
}

.adminMailboxResolutionActions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
  display: grid;
}

.adminMailboxResolutionTargets {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  border-radius: 8px;
  gap: 0;
  display: grid;
  overflow: hidden;
}

.adminMailboxResolutionTargetsHead {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  background: color-mix(in srgb, var(--bg-2), #fff 82%);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
  gap: 8px;
  padding: 7px 8px;
  display: grid;
}

.adminMailboxResolutionTargetsHead > span:first-child {
  color: var(--fg);
  font-size: 12px;
  font-weight: 800;
}

.adminMailboxResolutionTargetsHead > span:last-child {
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.35;
}

.adminMailboxResolutionTarget {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  grid-template-columns: 22px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
  min-height: 42px;
  padding: 7px 8px;
  display: grid;
}

.adminMailboxResolutionTarget:last-child {
  border-bottom: 0;
}

.adminMailboxResolutionTarget.isDisabled {
  color: var(--muted);
  background: color-mix(in srgb, var(--bg-2), #fff 72%);
}

.adminMailboxResolutionTarget > span {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.adminMailboxResolutionTarget strong, .adminMailboxResolutionTarget .mono {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.adminMailboxResolutionTarget strong {
  font-size: 12.5px;
}

.adminMailboxResolutionTarget .mono {
  color: var(--muted);
  font-size: 11px;
}

.adminMailboxResolutionActions .btn {
  justify-content: center;
  width: 100%;
  min-width: 0;
}

.adminMailboxResolutionHistory {
  gap: 7px;
  min-width: 0;
  padding-top: 2px;
  display: grid;
}

.adminMailboxResolutionHistoryRow {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 8px;
  min-width: 0;
  padding: 8px 0 0;
  display: grid;
}

.adminMailboxResolutionHistoryRow > span {
  color: var(--muted);
  font-size: 12px;
}

.adminMailboxResolutionHistoryRow > p {
  min-width: 0;
  color: var(--fg);
  overflow-wrap: anywhere;
  grid-column: 1 / -1;
  margin: 0;
  font-size: 12.5px;
  line-height: 1.35;
}

@media (max-width: 720px) {
  .adminMailboxResolutionSummary, .adminMailboxResolutionActions, .adminMailboxHandoffControls, .adminMailboxResolutionTargetsHead {
    grid-template-columns: 1fr;
  }

  .adminMailboxResolutionSummary > div:nth-child(odd) {
    border-right: 0;
  }

  .adminMailboxResolutionSummary > div:nth-last-child(-n+2) {
    border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 18%);
  }

  .adminMailboxResolutionSummary > div:last-child {
    border-bottom: 0;
  }

  .adminMailboxResolutionTarget {
    grid-template-columns: 22px minmax(0, 1fr);
  }

  .adminMailboxResolutionTarget .pill {
    grid-column: 2;
    justify-self: start;
  }
}

.adminMailboxOccurrencesAttachments {
  gap: 8px;
  min-width: 0;
  display: grid;
}

.adminMailboxOccurrencesAttachments h3 {
  font-size: 14px;
  line-height: 1.2;
}

.adminMailboxOccurrenceAttachment {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: #fff;
  border-radius: 8px;
  gap: 7px;
  min-width: 0;
  padding: 9px;
  display: grid;
}

.adminMailboxOccurrenceAttachmentTop {
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: grid;
}

.adminMailboxOccurrenceAttachmentMeta, .adminMailboxOccurrenceLinks {
  min-width: 0;
  color: var(--muted);
  flex-wrap: wrap;
  gap: 6px 10px;
  font-size: 12px;
  line-height: 1.25;
  display: flex;
}

.adminMailboxOccurrenceLinks a {
  color: color-mix(in srgb, var(--focus), var(--fg) 14%);
  align-items: center;
  gap: 5px;
  font-weight: 760;
  text-decoration: none;
  display: inline-flex;
}

.adminMailboxOccurrencesEmpty {
  min-height: 118px;
  color: var(--muted);
  padding: 28px 14px;
  font-size: 13px;
  line-height: 1.4;
}

.adminMailboxOccurrencesPager {
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.adminMailboxOccurrencesPage .pill.isReady {
  border-color: color-mix(in srgb, var(--ok), transparent 48%);
  background: color-mix(in srgb, var(--ok), #fff 90%);
  color: color-mix(in srgb, var(--ok), #111 30%);
}

.adminMailboxOccurrencesPage .pill.isWarning {
  border-color: color-mix(in srgb, var(--warn), transparent 34%);
  background: color-mix(in srgb, var(--warn), #fff 88%);
  color: color-mix(in srgb, var(--warn), #111 34%);
}

.adminMailboxOccurrencesPage .pill.isNeutral {
  background: color-mix(in srgb, var(--bg-2), var(--fg) 3%);
  color: var(--muted);
}

.adminDocumentProcessingMailboxAttentionItem:first-of-type {
  border-top: 0;
}

.adminDocumentProcessingMailboxDisposition {
  gap: 0;
  padding: 0;
  display: grid;
}

.adminDocumentProcessingMailboxDisposition > .adminDocumentProcessingSectionHead {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  padding: 10px 12px;
}

.adminDocumentProcessingDispositionNotice {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  background: color-mix(in srgb, var(--bg-2), #fff 84%);
  grid-template-columns: minmax(220px, auto) minmax(0, 1fr);
  align-items: start;
  gap: 8px 18px;
  min-width: 0;
  padding: 12px;
  display: grid;
}

.adminDocumentProcessingDispositionNotice .adminSettingsFieldHint {
  margin: 0;
}

.adminDocumentProcessingDispositionCapabilities {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
  padding: 9px 12px;
  display: flex;
}

.adminDocumentProcessingDispositionRules {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingDispositionRule {
  border-right: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  align-content: start;
  gap: 8px;
  min-width: 0;
  padding: 12px;
  display: grid;
}

.adminDocumentProcessingDispositionRule:nth-child(4n) {
  border-right: 0;
}

.adminDocumentProcessingDispositionRule:nth-last-child(-n+4) {
  border-bottom: 0;
}

.adminDocumentProcessingDispositionRuleTitle {
  gap: 3px;
  min-width: 0;
  min-height: 62px;
  display: grid;
}

.adminDocumentProcessingDispositionRuleTitle strong {
  font-size: 12.5px;
  line-height: 1.25;
}

.adminDocumentProcessingDispositionRuleTitle .adminSettingsFieldHint {
  margin: 0;
  line-height: 1.35;
}

.adminDocumentProcessingDispositionRule .adminTemplateField {
  min-width: 0;
  margin: 0;
}

.adminDocumentProcessingDispositionRule .input {
  min-height: 36px;
}

.adminDocumentProcessingDispositionRuleFooter {
  min-width: 0;
  padding-top: 2px;
}

.adminDocumentProcessingDispositionRuleFooter .adminSettingsFieldHint {
  margin: 0;
}

.adminDocumentProcessingDispositionPreview {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  background: color-mix(in srgb, var(--bg-2), #fff 88%);
  gap: 10px;
  min-width: 0;
  padding: 12px;
  display: grid;
}

.adminDocumentProcessingDispositionPreviewSummary {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  background: #fff;
  border-radius: 8px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  display: grid;
  overflow: hidden;
}

.adminDocumentProcessingDispositionPreviewSummary > div {
  border-right: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  gap: 3px;
  min-width: 0;
  min-height: 56px;
  padding: 9px 10px;
  display: grid;
}

.adminDocumentProcessingDispositionPreviewSummary > div:last-child {
  border-right: 0;
}

.adminDocumentProcessingDispositionPreviewSummary strong {
  font-size: 18px;
  line-height: 1.1;
}

.adminDocumentProcessingDispositionPreviewRows {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: #fff;
  border-radius: 8px;
  gap: 0;
  display: grid;
  overflow: hidden;
}

.adminDocumentProcessingDispositionPreviewRow {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  grid-template-columns: minmax(108px, .24fr) minmax(150px, .32fr) minmax(130px, .24fr) auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
  min-height: 38px;
  padding: 7px 10px;
  display: grid;
}

.adminDocumentProcessingDispositionPreviewRow:first-child {
  border-top: 0;
}

.adminDocumentProcessingDispositionPartialPasses {
  gap: 5px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingDispositionPartialPasses strong {
  font-size: 12.5px;
}

.adminDocumentProcessingMailboxGrid {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  grid-template-columns: minmax(0, 1.34fr) minmax(360px, .66fr);
  gap: 0;
  margin-top: 0;
  padding-top: 0;
}

.adminDocumentProcessingMailboxGrid > .adminDocumentProcessingFormSection {
  align-content: start;
  gap: 9px;
  min-width: 0;
  padding: 12px;
}

.adminDocumentProcessingMailboxGrid > .adminDocumentProcessingFormSection + .adminDocumentProcessingFormSection {
  border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
}

.adminDocumentProcessingMailboxConnectionFields {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
  gap: 8px 10px;
  min-width: 0;
  display: grid;
}

.adminDocumentProcessingMailboxConnectionFields > .field {
  min-width: 0;
  margin: 0;
}

.adminDocumentProcessingMailboxFieldHost {
  grid-column: span 8;
}

.adminDocumentProcessingMailboxFieldPort {
  grid-column: span 4;
}

.adminDocumentProcessingMailboxFieldSecurity {
  grid-column: 1 / -1;
}

.adminDocumentProcessingMailboxFieldUsername, .adminDocumentProcessingMailboxFieldFolder, .adminDocumentProcessingMailboxFieldPoll {
  grid-column: span 4;
}

.adminDocumentProcessingMailboxFieldMaxMessages, .adminDocumentProcessingMailboxFieldMaxAttachments {
  grid-column: span 6;
}

.adminDocumentProcessingMailboxFieldSecurity .adminChoiceFieldGroup {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: #fff;
  border-radius: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  min-height: 38px;
  display: grid;
  overflow: hidden;
}

.adminDocumentProcessingMailboxFieldSecurity .adminChoiceFieldOption {
  border-right: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  align-items: center;
  gap: 7px;
  width: 100%;
  min-height: 38px;
  padding: 8px 9px;
}

.adminDocumentProcessingMailboxFieldSecurity .adminChoiceFieldOption:last-child {
  border-right: 0;
}

.adminDocumentProcessingMailboxFieldSecurity .adminChoiceFieldOption.isChecked {
  background: color-mix(in srgb, var(--focus), #fff 94%);
}

.adminDocumentProcessingMailboxFieldSecurity .adminChoiceFieldOption input[type="radio"] {
  width: 16px;
  height: 16px;
  margin-top: 0;
}

.adminDocumentProcessingMailboxFieldSecurity .adminChoiceFieldLabel {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  line-height: 1.18;
  overflow: hidden;
}

.adminDocumentProcessingMailboxSecretSection {
  background: color-mix(in srgb, var(--bg-2), #fff 80%);
}

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

.adminDocumentProcessingSecretBlock .adminTemplateFieldFull {
  grid-column: 1 / -1;
}

.adminDocumentProcessingCredentialStatus {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 8px 0;
  display: grid;
}

.adminDocumentProcessingSecretActions {
  justify-content: flex-start;
  gap: 8px;
}

.adminDocumentProcessingSecretActions .btn {
  min-height: 34px;
}

.adminDocumentProcessingPromptLayout {
  border-top: 0;
  grid-template-columns: minmax(240px, 285px) minmax(420px, 1fr) minmax(330px, .78fr);
  align-items: stretch;
  gap: 0;
  display: grid;
}

.adminDocumentProcessingPromptLayout .adminDocumentProcessingPromptCatalogSummary {
  border-right: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  border-bottom: 0;
  align-content: start;
  gap: 10px;
  min-width: 0;
  padding: 12px;
}

.adminDocumentProcessingPromptLayout .adminDocumentProcessingPromptCatalogSummaryTop, .adminDocumentProcessingPromptLayout .adminDocumentProcessingPromptCatalogSummaryMeta {
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

.adminDocumentProcessingPromptWorkbench {
  display: contents;
}

.adminDocumentProcessingPromptEditorCard, .adminDocumentProcessingPromptAside {
  min-width: 0;
  padding: 12px;
}

.adminDocumentProcessingPromptEditorCard {
  border-right: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  grid-template-rows: minmax(0, 1fr) auto;
  align-content: start;
  gap: 10px;
  display: grid;
}

.adminDocumentProcessingPromptEditorCard .adminTemplateField {
  align-self: start;
  height: 100%;
}

.adminDocumentProcessingPromptAside {
  border-left: 0;
  align-content: stretch;
  gap: 10px;
  max-height: none;
  display: grid;
  overflow: visible;
}

.adminDocumentProcessingPromptFact {
  gap: 4px;
}

.adminDocumentProcessingPromptFactValue {
  font-size: 12px;
  line-height: 1.3;
}

.adminDocumentProcessingPromptPathStack {
  gap: 2px;
  min-width: 0;
  max-width: 100%;
  display: grid;
}

.adminDocumentProcessingPromptPathDir {
  color: color-mix(in srgb, var(--muted), var(--fg) 22%);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 10.8px;
  line-height: 1.25;
  overflow: hidden;
}

.adminDocumentProcessingPromptPathValue {
  overflow-wrap: anywhere;
  word-break: normal;
  max-width: 100%;
  font-size: 12px;
  display: block;
}

.adminDocumentProcessingPromptChipSection {
  gap: 6px;
}

.adminDocumentProcessingPromptChipRow {
  gap: 5px;
}

.adminDocumentProcessingPromptChip {
  max-width: 100%;
  min-height: 21px;
  padding: 0 7px;
  font-size: 10.5px;
}

.adminDocumentProcessingPromptLayout .adminValidationSummary, .adminDocumentProcessingPromptLayout .adminDocumentProcessingPromptCatalogNotice {
  border-radius: 0;
  grid-column: 1 / -1;
  margin: 0;
}

.adminDocumentProcessingPromptCatalogTextarea {
  resize: vertical;
  height: clamp(300px, 34vh, 430px);
  min-height: 300px;
  max-height: 430px;
  font-size: 11.5px;
  line-height: 1.45;
}

.adminDocumentProcessingPromptCatalogActions {
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  padding-top: 10px;
}

.adminDocumentProcessingPromptPreviewPanel {
  grid-template-rows: auto minmax(0, 1fr);
  gap: 10px;
  min-height: 100%;
  display: grid;
}

.adminDocumentProcessingPromptPreviewHead {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  gap: 3px;
  padding-bottom: 9px;
  display: grid;
}

.adminDocumentProcessingPromptPreviewStack {
  align-content: start;
  gap: 9px;
  max-height: clamp(300px, 34vh, 430px);
  display: grid;
  overflow: auto;
}

.adminDocumentProcessingPromptPreviewBlock {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
  gap: 6px;
  min-width: 0;
  padding-bottom: 9px;
  display: grid;
}

.adminDocumentProcessingPromptPreviewBlock:last-child {
  border-bottom: 0;
}

.adminDocumentProcessingPromptPreviewBlock .label {
  text-overflow: clip;
  white-space: normal;
  margin: 0;
  overflow: visible;
}

.adminDocumentProcessingPromptPreview {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: color-mix(in srgb, var(--bg-2), #fff 72%);
  border-radius: 6px;
  min-height: 72px;
  max-height: 116px;
  padding: 8px 9px;
  font-size: 10.7px;
  line-height: 1.4;
  overflow: auto;
}

@media (max-width: 1180px) {
  .adminDocumentProcessingPolicyActionGrid, .adminDocumentProcessingParserConfigGrid, .adminDocumentProcessingMailboxOpsGrid, .adminDocumentProcessingHistoricalGrid, .adminDocumentProcessingDispositionRules, .adminDocumentProcessingMailboxGrid, .adminDocumentProcessingPromptLayout, .adminMailboxOccurrencesShell, .adminMailboxOccurrencesGrid, .adminDocumentProcessingPolicyColumn, .adminDocumentProcessingMailboxOpsMain, .adminDocumentProcessingDispositionNotice, .adminDocumentProcessingMailboxConnectionFields, .adminDocumentProcessingParserConfigGrid .adminDocumentProcessingStackGrid {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminDocumentProcessingMailboxFieldHost, .adminDocumentProcessingMailboxFieldPort, .adminDocumentProcessingMailboxFieldSecurity, .adminDocumentProcessingMailboxFieldUsername, .adminDocumentProcessingMailboxFieldFolder, .adminDocumentProcessingMailboxFieldPoll, .adminDocumentProcessingMailboxFieldMaxMessages, .adminDocumentProcessingMailboxFieldMaxAttachments {
    grid-column: 1;
  }

  .adminDocumentProcessingPolicyColumn > .adminDocumentProcessingFormSection + .adminDocumentProcessingFormSection, .adminDocumentProcessingActionsPanel, .adminDocumentProcessingMailboxOpsMain > .adminDocumentProcessingActionRow + .adminDocumentProcessingActionRow, .adminDocumentProcessingMailboxSyncPanel, .adminDocumentProcessingHistoricalEvidence, .adminDocumentProcessingDispositionRule, .adminMailboxOccurrencesFilters, .adminMailboxOccurrencesRows, .adminDocumentProcessingParserConfigGrid .adminDocumentProcessingStackCard + .adminDocumentProcessingStackCard, .adminDocumentProcessingLimitsPanel, .adminDocumentProcessingMailboxGrid > .adminDocumentProcessingFormSection + .adminDocumentProcessingFormSection, .adminDocumentProcessingPromptLayout .adminDocumentProcessingPromptCatalogSummary, .adminDocumentProcessingPromptEditorCard, .adminDocumentProcessingPromptAside {
    border-left: 0;
    border-right: 0;
    border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  }

  .adminMailboxOccurrencesFilters, .adminMailboxOccurrencesRows {
    border-left: 0;
    border-right: 0;
  }

  .adminDocumentProcessingPolicyColumn > .adminDocumentProcessingFormSection:first-child, .adminDocumentProcessingPromptLayout .adminDocumentProcessingPromptCatalogSummary {
    border-top: 0;
  }

  .adminDocumentProcessingActionsPanel, .adminDocumentProcessingMailboxSyncPanel, .adminDocumentProcessingHistoricalEvidence, .adminDocumentProcessingLimitsPanel, .adminDocumentProcessingDispositionRule, .adminDocumentProcessingMailboxGrid > .adminDocumentProcessingFormSection + .adminDocumentProcessingFormSection, .adminDocumentProcessingPromptAside {
    padding-top: 11px;
  }

  .adminDocumentProcessingHistoricalEvidence {
    padding-left: 0;
  }

  .adminDocumentProcessingDispositionRule:nth-child(n) {
    border-right: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  }

  .adminDocumentProcessingDispositionRule:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 760px) {
  .adminDocumentProcessingWorkbenchSurface .adminDocumentProcessingSection > .adminDocumentProcessingSectionHead, .adminDocumentProcessingGlobalSaveBar {
    flex-direction: column;
    align-items: stretch;
  }

  .adminDocumentProcessingGlobalSaveMeta, .adminDocumentProcessingGlobalSaveActions {
    justify-content: space-between;
    width: 100%;
  }

  .adminDocumentProcessingDangerousPanel, .adminDocumentProcessingDangerousPanel.isCompact, .adminDocumentProcessingDangerousSummary li {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminDocumentProcessingDangerousSummary li .mono {
    text-align: left;
  }

  .adminDocumentProcessingGlobalSaveMeta .adminSettingsFieldHint {
    white-space: normal;
  }

  .adminDocumentProcessingGlobalSaveActions .btn {
    flex: 1 1 0;
  }

  .adminDocumentProcessingPolicyColumn > .adminDocumentProcessingFormSection, .adminDocumentProcessingActionsPanel, .adminDocumentProcessingMailboxOps > .adminDocumentProcessingSectionHead, .adminDocumentProcessingHistoricalPanel, .adminDocumentProcessingMailboxDisposition > .adminDocumentProcessingSectionHead, .adminDocumentProcessingMailboxOpsMain > .adminDocumentProcessingActionRow, .adminDocumentProcessingMailboxSyncPanel, .adminDocumentProcessingDispositionNotice, .adminDocumentProcessingDispositionRule, .adminDocumentProcessingDispositionPreview, .adminDocumentProcessingProfileStackShell > .adminDocumentProcessingSectionHead, .adminDocumentProcessingParserConfigSurface > .adminDocumentProcessingSectionHead, .adminDocumentProcessingParserConfigGrid .adminDocumentProcessingStackCard, .adminDocumentProcessingLimitsPanel, .adminDocumentProcessingMailboxGrid > .adminDocumentProcessingFormSection, .adminDocumentProcessingPromptLayout .adminDocumentProcessingPromptCatalogSummary, .adminDocumentProcessingPromptEditorCard, .adminDocumentProcessingPromptAside {
    padding: 10px;
  }

  .adminDocumentProcessingLimitsPanel .adminDocumentProcessingSupportGrid, .adminDocumentProcessingDispositionPreviewSummary, .adminDocumentProcessingMailboxStatusGrid, .adminDocumentProcessingAcceptanceLanes, .adminDocumentProcessingAcceptanceCounts, .adminDocumentProcessingAcceptanceLinks, .adminDocumentProcessingHistoricalFields, .adminDocumentProcessingHistoricalStatusGrid .adminDocumentProcessingRuntimeItem, .adminDocumentProcessingHistoricalStatusGrid .adminDocumentProcessingRuntimeItemWide, .adminDocumentProcessingMailboxFieldSecurity .adminChoiceFieldGroup, .adminDocumentProcessingMailboxGrid .adminTemplateFieldsGrid, .adminMailboxOccurrencesTwoFields, .adminMailboxOccurrencesMeta > div {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminDocumentProcessingMailboxFieldSecurity .adminChoiceFieldOption {
    border-right: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  }

  .adminDocumentProcessingMailboxFieldSecurity .adminChoiceFieldOption:last-child {
    border-bottom: 0;
  }

  .adminDocumentProcessingMailboxOpsMain > .adminDocumentProcessingActionRow {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminDocumentProcessingMailboxOpsMain > .adminDocumentProcessingActionRow > :first-child, .adminDocumentProcessingMailboxOpsMain > .adminDocumentProcessingActionRow > .adminChoiceFieldGroup, .adminDocumentProcessingMailboxOpsMain > .adminDocumentProcessingActionRow > .adminDocumentProcessingProbeFields, .adminDocumentProcessingMailboxOpsMain > .adminDocumentProcessingActionRow > .field, .adminDocumentProcessingMailboxOpsMain > .adminDocumentProcessingActionRow > p.adminSettingsFieldHint, .adminDocumentProcessingMailboxOpsMain > .adminDocumentProcessingActionRow > .btn, .adminDocumentProcessingMailboxOpsMain > .adminDocumentProcessingActionRow > .adminDocumentProcessingProbeResult {
    grid-column: 1;
  }

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

  .adminDocumentProcessingMailboxStatusHead, .adminMailboxOccurrencesListHead {
    flex-direction: column;
    align-items: stretch;
  }

  .adminDocumentProcessingReconciliationActions {
    justify-content: stretch;
  }

  .adminDocumentProcessingReconciliationActions .btn {
    flex: 140px;
  }

  .adminDocumentProcessingReconciliationCheck, .adminDocumentProcessingReconciliationLinkRow, .adminDocumentProcessingAcceptanceGate, .adminDocumentProcessingIncidentSummary, .adminDocumentProcessingIncidentScenarios, .adminDocumentProcessingIncidentBoundaries, .adminDocumentProcessingPostLaunchGroups, .adminDocumentProcessingPostLaunchTask {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminDocumentProcessingIncidentSummary .adminDocumentProcessingRuntimeItem + .adminDocumentProcessingRuntimeItem, .adminDocumentProcessingIncidentScenario:nth-child(2n), .adminDocumentProcessingAcceptanceLane + .adminDocumentProcessingAcceptanceLane {
    border-left: 0;
  }

  .adminDocumentProcessingIncidentSummary .adminDocumentProcessingRuntimeItem + .adminDocumentProcessingRuntimeItem, .adminDocumentProcessingIncidentScenario:nth-child(n+2), .adminDocumentProcessingAcceptanceLane + .adminDocumentProcessingAcceptanceLane {
    border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  }

  .adminDocumentProcessingPostLaunchGroup + .adminDocumentProcessingPostLaunchGroup {
    border-left: 0;
    border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  }

  .adminDocumentProcessingMailboxStatusHead .btn, .adminMailboxOccurrencesListHead .btn {
    justify-content: center;
    width: 100%;
  }

  .adminDocumentProcessingCatchUpProfileGrid, .adminDocumentProcessingProviderCompatibilityGrid, .adminDocumentProcessingProviderCheckGrid, .adminDocumentProcessingProviderCheck {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminDocumentProcessingCatchUpProfileGrid > div, .adminDocumentProcessingProviderCompatibilityGrid > div {
    border-left: 0;
    border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
    padding: 8px 0;
  }

  .adminDocumentProcessingCatchUpProfileGrid > div:first-child, .adminDocumentProcessingProviderCompatibilityGrid > div:first-child {
    border-top: 0;
    padding-top: 0;
  }

  .adminMailboxOccurrenceRow {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
  }

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

  .adminDocumentProcessingDispositionPreviewSummary > div {
    border-right: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  }

  .adminDocumentProcessingDispositionPreviewSummary > div:last-child {
    border-bottom: 0;
  }

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

  .adminMailboxOccurrenceAttachmentTop .pill {
    grid-column: 1 / -1;
  }

  .adminDocumentProcessingMailboxSyncHead .btn, .adminDocumentProcessingMailboxOpsMain .adminDocumentProcessingActionRow .btn {
    justify-self: stretch;
    width: 100%;
  }

  .adminDocumentProcessingMailboxStatusGrid .adminDocumentProcessingRuntimeItem, .adminDocumentProcessingMailboxStatusGrid .adminDocumentProcessingRuntimeItem:nth-child(2n) {
    border-right: 0;
    grid-template-columns: minmax(0, 1fr);
  }

  .adminDocumentProcessingMailboxStatusGrid .adminDocumentProcessingRuntimeItem:nth-child(n+2) {
    border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 14%);
  }

  .adminDocumentProcessingRetentionGrid .adminDocumentProcessingRuntimeItem, .adminDocumentProcessingRetentionGrid .adminDocumentProcessingRuntimeItemWide {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }

  .adminDocumentProcessingRetentionValue, .adminDocumentProcessingRetentionLongValue {
    text-align: left;
    white-space: normal;
  }

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

  .adminDocumentProcessingMailboxGrid .adminTemplateFieldFull {
    grid-column: 1 / -1;
  }

  .adminDocumentProcessingPromptPreviewStack {
    max-height: 260px;
  }

  .adminDocumentProcessingPromptCatalogTextarea {
    height: 300px;
    min-height: 260px;
  }

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

.adminDocumentProcessingRouteNav {
  border-block: 1px solid color-mix(in srgb, var(--stroke), transparent 10%);
  background: #fff;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
  display: grid;
  overflow: hidden;
}

.adminDocumentProcessingRouteNav a {
  min-width: 0;
  min-height: 44px;
  color: color-mix(in srgb, var(--muted), var(--fg) 18%);
  text-align: center;
  border-bottom: 3px solid #0000;
  justify-content: center;
  align-items: center;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 740;
  line-height: 1.2;
  text-decoration: none;
  display: inline-flex;
}

.adminDocumentProcessingRouteNav a + a {
  border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 16%);
}

.adminDocumentProcessingRouteNav a:hover {
  background: color-mix(in srgb, var(--focus), #fff 97%);
  color: var(--fg);
}

.adminDocumentProcessingRouteNav a:focus-visible {
  z-index: 1;
  outline: 3px solid color-mix(in srgb, var(--focus), transparent 62%);
  outline-offset: -3px;
  position: relative;
}

.adminDocumentProcessingRouteNav a.isCurrent {
  border-bottom-color: var(--focus);
  background: color-mix(in srgb, var(--focus), #fff 96%);
  color: color-mix(in srgb, var(--focus), var(--fg) 20%);
}

.adminMailboxOccurrencesShell {
  background: none;
  border: 0;
  border-radius: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  overflow: visible;
}

.adminMailboxOccurrencesFilterPanel {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: #fff;
  border-radius: 8px;
  min-width: 0;
  overflow: hidden;
}

.adminMailboxOccurrencesFilterPanel > summary {
  cursor: pointer;
  grid-template-columns: minmax(0, 1fr) auto 16px;
  align-items: center;
  gap: 12px;
  min-height: 46px;
  padding: 8px 12px;
  list-style: none;
  display: grid;
}

.adminMailboxOccurrencesFilterPanel > summary::-webkit-details-marker {
  display: none;
}

.adminMailboxOccurrencesFilterPanel > summary:after {
  border-right: 2px solid var(--muted);
  border-bottom: 2px solid var(--muted);
  content: "";
  width: 8px;
  height: 8px;
  transition: transform .15s;
  transform: rotate(45deg)translate(-2px, -2px);
}

.adminMailboxOccurrencesFilterPanel[open] > summary:after {
  transform: rotate(225deg)translate(-1px, -1px);
}

.adminMailboxOccurrencesFilterPanel > summary:hover {
  background: color-mix(in srgb, var(--bg-2), #fff 72%);
}

.adminMailboxOccurrencesFilterPanel > summary:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--focus), transparent 62%);
  outline-offset: -3px;
}

.adminMailboxOccurrencesFilterTitle, .adminMailboxOccurrencesFilterCount, .adminMailboxOccurrencesDetailLoading {
  align-items: center;
  display: inline-flex;
}

.adminMailboxOccurrencesFilterTitle {
  gap: 8px;
  min-width: 0;
}

.adminMailboxOccurrencesFilterCount {
  color: var(--muted);
  gap: 7px;
  font-size: 12px;
  line-height: 1.2;
}

.adminMailboxOccurrencesFilterCount strong {
  background: color-mix(in srgb, var(--focus), #fff 91%);
  min-width: 24px;
  min-height: 24px;
  color: color-mix(in srgb, var(--focus), var(--fg) 20%);
  border-radius: 999px;
  place-items: center;
  padding-inline: 6px;
  font-size: 12px;
  display: inline-grid;
}

.adminMailboxOccurrencesFilters {
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: color-mix(in srgb, var(--bg-2), #fff 82%);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 12px;
}

.adminMailboxOccurrencesFilters .adminSettingsField, .adminMailboxOccurrencesFilters .adminSettingsCheckbox {
  min-width: 0;
}

.adminMailboxOccurrencesFilters input:not([type="checkbox"]), .adminMailboxOccurrencesFilters select, .adminMailboxOccurrencesFilters button {
  min-height: 44px;
}

.adminMailboxOccurrencesFilters input[type="checkbox"] {
  width: 20px;
  height: 20px;
  min-height: 20px;
  margin: 0;
}

.adminMailboxOccurrencesFilters .adminSettingsCheckbox {
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding-top: 18px;
  display: flex;
}

.adminMailboxOccurrencesTwoFields {
  grid-column: span 2;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.adminMailboxOccurrencesActions {
  grid-column: 1 / -1;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 0;
  display: flex;
}

.adminMailboxOccurrencesActions .btn {
  width: auto;
  min-width: 132px;
}

.adminMailboxOccurrencesMain {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: #fff;
  border-radius: 8px;
}

.adminMailboxOccurrencesGrid {
  grid-template-columns: minmax(320px, .42fr) minmax(0, .58fr);
}

.adminMailboxOccurrenceRow {
  grid-template-columns: minmax(106px, auto) minmax(0, 1fr);
  gap: 8px 12px;
  min-height: 90px;
  padding: 10px 11px;
}

.adminMailboxOccurrenceRow.isLoading {
  background: color-mix(in srgb, var(--focus), #fff 94%);
  cursor: progress;
}

.adminMailboxOccurrenceRowMain, .adminMailboxOccurrenceRowTitle {
  min-width: 0;
  display: flex;
}

.adminMailboxOccurrenceRowMain {
  flex-direction: column;
  gap: 5px;
}

.adminMailboxOccurrenceRowTitle {
  justify-content: space-between;
  align-items: flex-start;
  gap: 9px;
}

.adminMailboxOccurrenceRowTitle > .mono {
  color: var(--muted);
  flex: none;
  font-size: 11.5px;
}

.adminMailboxOccurrenceRowMeta {
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 7px;
  min-width: 0;
  display: flex;
}

.adminMailboxOccurrenceRowMeta > .mono {
  color: var(--muted);
  font-size: 11.5px;
}

.adminMailboxOccurrencesDetailLoading {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 62%);
  background: color-mix(in srgb, var(--focus), #fff 96%);
  min-height: 36px;
  color: color-mix(in srgb, var(--focus), var(--fg) 22%);
  border-radius: 7px;
  gap: 7px;
  padding: 7px 9px;
  font-size: 12px;
  font-weight: 700;
}

.adminMailboxOccurrencesDetailLoading svg {
  animation: .9s linear infinite adminFinanceProcessingSpin;
}

.adminMailboxResolutionPanel input:not([type="checkbox"]), .adminMailboxResolutionPanel select, .adminMailboxResolutionPanel button, .adminMailboxResolutionTarget {
  min-height: 44px;
}

.adminMailboxResolutionError {
  margin: 0;
}

.adminMailboxOccurrenceLinks a, .adminMailboxOccurrencesPager .btn {
  min-height: 44px;
}

.adminMailboxOccurrenceLinks a {
  padding: 6px 0;
}

.adminFinanceMailboxDatasetWorkflow {
  margin: 0;
  list-style: none;
}

.adminFinanceMailboxDatasetWorkflow .isComplete strong {
  background: color-mix(in srgb, var(--focus), #fff 86%);
  color: color-mix(in srgb, var(--focus), var(--fg) 18%);
}

.adminFinanceMailboxDatasetWorkflow .isComplete .adminFinanceMailboxDatasetWorkflowText > span {
  color: var(--fg);
}

.adminFinanceMailboxDatasetPage .adminHeaderTitleWrap {
  max-width: none;
}

.adminFinanceMailboxDatasetPage .btn, .adminFinanceMailboxDatasetPage input:not([type="checkbox"]), .adminFinanceMailboxDatasetPage select, .adminFinanceMailboxDatasetSenderResult, .adminFinanceMailboxDatasetPager .btn {
  min-height: 44px;
}

.adminFinanceMailboxDatasetMessageList:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--focus), transparent 58%);
  outline-offset: 2px;
}

.adminFinanceMailboxDatasetHistoryFiles a, .adminFinanceMailboxDatasetPlanRows a {
  align-items: center;
  min-height: 44px;
  display: inline-flex;
}

@media (max-width: 1500px) and (min-width: 1101px) {
  .adminFinanceMailboxDatasetControlGrid {
    grid-template-columns: minmax(290px, .86fr) minmax(0, 1.14fr);
  }

  .adminFinanceMailboxDatasetPlanCard {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1180px) {
  .adminMailboxOccurrencesFilters {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

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

@media (max-width: 760px) {
  .adminDocumentProcessingRouteNav a {
    padding-inline: 7px;
    font-size: 12px;
  }

  .adminMailboxOccurrencesFilterPanel > summary {
    gap: 8px;
    padding-inline: 10px;
  }

  .adminMailboxOccurrencesFilterCount > span {
    display: none;
  }

  .adminMailboxOccurrencesFilters {
    grid-template-columns: minmax(0, 1fr);
    padding: 10px;
  }

  .adminMailboxOccurrencesFilters .adminSettingsCheckbox {
    padding-top: 0;
  }

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

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

  .adminMailboxOccurrencesActions .btn {
    width: 100%;
    min-width: 0;
  }

  .adminMailboxOccurrencesMain {
    padding: 10px;
  }

  .adminMailboxOccurrenceRow {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    padding: 11px;
  }

  .adminMailboxOccurrenceRow > .adminMailboxOccurrenceReason, .adminMailboxOccurrenceRowMain {
    grid-area: auto / 1;
  }

  .adminMailboxOccurrenceRowTitle {
    grid-template-columns: minmax(0, 1fr) auto;
    display: grid;
  }

  .adminFinanceMailboxDatasetMessageList {
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    max-height: min(68vh, 620px);
    overflow: auto;
  }

  .adminFinanceMailboxDatasetMessage {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 12px 0;
  }

  .adminFinanceMailboxDatasetMessageDate {
    align-items: center;
    gap: 8px;
    display: flex;
  }

  .adminFinanceMailboxDatasetMessageDate span {
    margin: 0;
  }
}

@media (max-width: 430px) {
  .adminFinanceMailboxDatasetFilterGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .adminFinanceMailboxDatasetSenderSearch {
    grid-column: 1 / -1;
  }

  .adminFinanceMailboxDatasetPicker select {
    min-height: 44px;
  }
}

.adminRolesRoleSelectorStrip {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 10px 12px;
  padding-bottom: 10px;
}

.adminRolesRoleSelectorStrip .adminRolesRailHeader {
  display: contents;
}

.adminRolesRoleSelectorStrip .adminRolesRailHeader > div {
  display: none;
}

.adminRolesRoleSelectorStrip .adminRoleActionBtn {
  border-radius: 8px;
  grid-area: 1 / 2;
  align-self: stretch;
  min-height: 54px;
  padding-inline: 14px;
}

.adminRolesRoleSelectorStrip .adminRolesList {
  grid-area: 1 / 1;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.adminRolesRoleSelectorStrip .adminRolesListItem {
  border-color: color-mix(in srgb, var(--stroke), transparent 20%);
  align-content: center;
  gap: 3px;
  min-height: 54px;
  padding: 8px 10px;
  display: grid;
}

.adminRolesRoleSelectorStrip .adminRolesListItem.isActive {
  background: color-mix(in srgb, var(--focus), white 96%);
  box-shadow: none;
}

.adminRolesRoleSelectorStrip .adminRolesListItem.isActive:after {
  width: 6px;
  height: 6px;
}

.adminRolesRoleSelectorStrip .adminRolesListItemHeader {
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  display: grid;
}

.adminRolesRoleIcon {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  width: 24px;
  height: 24px;
  color: color-mix(in srgb, var(--muted), var(--focus) 18%);
  background: #fff;
  border-radius: 7px;
  place-items: center;
  display: inline-grid;
}

.adminRolesListItem.isActive .adminRolesRoleIcon {
  border-color: color-mix(in srgb, var(--focus), transparent 45%);
  color: color-mix(in srgb, var(--focus), black 8%);
  background: color-mix(in srgb, var(--focus), white 92%);
}

.adminRolesRoleSelectorStrip .adminRolesListItemTitleWrap {
  gap: 1px;
}

.adminRolesRoleSelectorStrip .adminRolesListItemTitle {
  font-size: 13px;
  line-height: 1.15;
}

.adminRolesRoleSelectorStrip .mono {
  font-size: 12px;
}

.adminRolesRoleSelectorStrip .adminRolesOverviewPills {
  display: none;
}

.adminRolesProtectedPill {
  border-color: color-mix(in srgb, var(--focus), transparent 60%);
  background: color-mix(in srgb, var(--focus), white 92%);
  color: color-mix(in srgb, var(--focus), black 12%);
}

.adminRolesSelectedOverview {
  padding-top: 13px;
}

.adminRolesSelectedIntro .adminRolesEditorEyebrow {
  display: none;
}

.adminRolesEditorTitle {
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  display: inline-flex;
}

.adminRolesProtectedNotice {
  background: none;
  border: 0;
  width: 100%;
  margin-top: 7px;
  padding: 0;
}

.adminRolesProtectedNoticeIcon {
  flex-basis: 22px;
  width: 22px;
  height: 22px;
}

.adminRolesProtectedNotice > span:last-child {
  display: block;
}

.adminRolesProtectedNotice strong {
  margin-right: 6px;
}

.adminRolesSelectedHeader {
  padding-bottom: 12px;
}

.adminRolesSelectedOverview .adminRolesImpactStats {
  background: none;
}

.adminRolesImpactStats button {
  min-height: 50px;
  padding: 8px 14px;
}

.adminRolesImpactStats span {
  color: color-mix(in srgb, var(--muted), var(--fg) 12%);
  font-size: 10px;
}

.adminRolesImpactStats strong {
  font-size: 17px;
  line-height: 1.05;
}

.adminRolesImpactWarnings {
  align-items: center;
  min-height: 36px;
  padding: 7px 0;
}

.adminRolesImpactWarnings li {
  align-items: center;
  gap: 5px;
  display: inline-flex;
}

.adminRolesSelectedDetails {
  padding-top: 12px;
}

.adminRolesSelectedOverview .adminRolesMetaGrid .label {
  margin-bottom: 5px;
}

.adminRolesPermissionsSection > .adminSectionDisclosureToggle .adminSectionDisclosureToggleGlyph {
  display: none;
}

.adminRolesPermissionsSection > .adminSectionDisclosureToggle .adminSectionDisclosureToggleMain {
  gap: 0;
}

.adminRolesPermissionsSection > .adminSectionDisclosureToggle .adminFinancePanelTitle {
  font-size: 18px;
}

.adminRolesPermissionsStats button {
  min-height: 28px;
  font-size: 12px;
}

.adminRolesMatrixToolbar {
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  display: grid;
}

.adminRolesQuickFilters {
  min-width: 0;
}

.adminRolesMatrixToolbarControls {
  grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(112px, 132px)) auto;
  justify-content: stretch;
  display: grid;
}

.adminRolesQuickFilters .adminRoleActionBtn, .adminRolesMatrixToolbarControls .adminRoleActionBtn {
  border-radius: 7px;
  min-height: 32px;
  font-size: 12px;
}

.adminRolesMatrixToolbarControls > input.input {
  flex: auto;
  width: 100%;
  min-width: 0;
  max-width: 420px;
  min-height: 34px;
}

.adminRolesMatrixToolbarControls > .adminRolesMatrixSelect {
  flex: auto;
  width: 100%;
  min-width: 0;
  min-height: 34px;
}

.adminRolesMatrixToolbarControls > .adminRoleActionBtn {
  white-space: nowrap;
}

.adminRolesModuleGrid {
  border-radius: 8px;
}

.adminRolesModuleSummary {
  min-height: 38px;
  padding: 7px 12px;
}

.adminRolesModuleSummary .adminSectionDisclosureToggleGlyph {
  width: 18px;
  height: 18px;
}

.adminRolesModuleSummary .adminSectionDisclosureToggleMain {
  gap: 7px;
}

.adminRolesModuleSummary .adminRolesModuleEyebrow {
  font-size: 13px;
}

.adminRolesModuleSummary .adminRolesModuleTitle {
  font-size: 12px;
}

.adminRolesModuleSummary .adminSectionDisclosureSummary .pill {
  min-height: 20px;
  padding: 2px 7px;
}

.adminRolesModuleDetails .adminRolesModuleCard {
  border-top-color: color-mix(in srgb, var(--stroke), transparent 8%);
}

.adminRolesMatrixTable {
  min-width: 760px;
  font-size: 12px;
}

.adminRolesMatrixTable th, .adminRolesMatrixTable td {
  padding: 8px 10px;
}

.adminRolesMatrixTable thead th {
  letter-spacing: .06em;
  padding-top: 7px;
  padding-bottom: 7px;
}

.adminRolesMatrixTableSettings th:first-child, .adminRolesMatrixTableSettings td:first-child {
  width: 34%;
}

.adminRolesMatrixTableSettings th:nth-child(2), .adminRolesMatrixTableSettings td:nth-child(2) {
  text-align: left;
  width: 34%;
}

.adminRolesMatrixTableSettings th:nth-child(3), .adminRolesMatrixTableSettings th:nth-child(4), .adminRolesMatrixTableSettings th:nth-child(5), .adminRolesMatrixTableSettings td:nth-child(3), .adminRolesMatrixTableSettings td:nth-child(4), .adminRolesMatrixTableSettings td:nth-child(5) {
  text-align: center;
  width: 7%;
}

.adminRolesMatrixTableSettings th:last-child, .adminRolesMatrixTableSettings td:last-child {
  width: 11%;
}

.adminRolesMatrixTableCapabilities th:first-child {
  width: 56%;
}

.adminRolesMatrixTableCapabilities th:not(:first-child), .adminRolesMatrixTableCapabilities td:not(:first-child) {
  width: 14.5%;
}

.adminRolesMatrixDescriptionCell {
  text-align: left;
}

.adminRolesMatrixDash {
  color: color-mix(in srgb, var(--muted), white 6%);
  font-weight: 700;
}

.adminRolesMatrixToggle {
  width: 26px;
  min-height: 26px;
  margin: 0;
  padding: 4px;
}

.adminRolesRiskText {
  border-radius: 999px;
  align-items: center;
  min-height: 22px;
  padding: 2px 7px;
  font-size: 12px;
  display: inline-flex;
}

.adminRolesRiskText-low {
  color: color-mix(in srgb, var(--success), black 10%);
}

.adminRolesRiskText-medium {
  color: color-mix(in srgb, var(--warning), black 22%);
}

.adminRolesRiskText-high {
  color: color-mix(in srgb, var(--warning), black 34%);
}

.adminRolesRiskText-critical {
  color: color-mix(in srgb, var(--danger), black 18%);
}

.adminRolesDangerZone {
  min-height: 64px;
  padding-top: 10px;
}

@media (max-width: 1120px) {
  .adminRolesRoleSelectorStrip {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminRolesRoleSelectorStrip .adminRoleActionBtn, .adminRolesRoleSelectorStrip .adminRolesList {
    grid-column: 1;
  }

  .adminRolesRoleSelectorStrip .adminRoleActionBtn {
    grid-row: 2;
    justify-self: start;
  }

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

  .adminRolesMatrixToolbarControls {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .adminRolesRoleSelectorStrip .adminRoleActionBtn {
    grid-row: 2;
    justify-self: start;
    min-height: 38px;
    padding-inline: 13px;
    width: auto !important;
  }

  .adminRolesRoleSelectorStrip .adminRolesList {
    grid-area: 1 / 1;
  }

  .adminRolesRoleSelectorStrip .adminRolesListItem {
    flex-basis: min(78vw, 285px);
  }

  .adminRolesImpactStats button:nth-child(2n) {
    border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  }

  .adminRolesImpactStats button:nth-child(5) {
    grid-column: 1 / -1;
  }

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

  .adminRolesMatrixToolbar {
    gap: 8px;
  }

  .adminRolesQuickFilters {
    scrollbar-width: none;
    flex-wrap: nowrap;
    padding-bottom: 2px;
    overflow-x: auto;
  }

  .adminRolesQuickFilters::-webkit-scrollbar {
    display: none;
  }
}

.adminRolesRoleSelectorStrip {
  gap: 12px;
  padding-bottom: 14px;
}

.adminRolesRoleSelectorStrip .adminRolesListItem {
  border-radius: 10px;
  min-height: 58px;
  padding: 10px 13px;
}

.adminRolesRoleSelectorStrip .adminRolesListItem.isActive {
  box-shadow: none;
}

.adminRolesRoleSelectorStrip .adminRolesListItem.isActive:after {
  display: none;
}

.adminRolesRoleSelectorStrip .adminRoleActionBtn {
  border: 1px dashed color-mix(in srgb, var(--stroke), black 8%);
  min-height: 58px;
  color: var(--fg);
  box-shadow: none;
  background: #fff;
}

.adminRolesRoleSelectorStrip .adminRoleActionBtn:hover, .adminRolesRoleSelectorStrip .adminRoleActionBtn:focus-visible {
  border-color: color-mix(in srgb, var(--focus), transparent 28%);
  background: color-mix(in srgb, var(--focus), white 97%);
  color: color-mix(in srgb, var(--focus), black 12%);
}

.adminRolesSelectedOverview {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  background: #fff;
  border-radius: 10px;
  grid-template-columns: minmax(0, 1fr) minmax(520px, .92fr);
  gap: 12px 18px;
  padding: 13px 13px 12px;
  display: grid;
}

.adminRolesSelectedHeader {
  border-bottom: 0;
  grid-column: 1;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: start;
  gap: 13px;
  padding-bottom: 0;
  display: grid;
}

.adminRolesSelectedHeroIcon {
  border: 1px solid color-mix(in srgb, var(--focus), transparent 58%);
  background: color-mix(in srgb, var(--focus), white 94%);
  width: 46px;
  height: 46px;
  color: color-mix(in srgb, var(--focus), black 8%);
  border-radius: 999px;
  place-items: center;
  display: inline-grid;
}

.adminRolesSelectedHeroIcon svg {
  width: 24px;
  height: 24px;
}

.adminRolesSelectedIntro {
  max-width: none;
}

.adminRolesSelectedIntro > .muted {
  font-size: 13px;
}

.adminRolesProtectedNotice {
  color: color-mix(in srgb, var(--muted), var(--fg) 10%);
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.35;
  display: flex;
}

.adminRolesProtectedNoticeIcon {
  border-radius: 999px;
  flex-basis: 24px;
  width: 24px;
  height: 24px;
}

.adminRolesSelectedImpact {
  display: contents;
}

.adminRolesSelectedOverview .adminRolesImpactStats {
  background: none;
  border: 0;
  grid-column: 2;
  grid-template-columns: repeat(5, minmax(86px, 1fr));
  align-self: start;
  gap: 8px;
  display: grid;
}

.adminRolesImpactStats button {
  border: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
  text-align: left;
  background: #fff;
  border-radius: 8px;
  min-height: 50px;
  padding: 8px 10px;
}

.adminRolesImpactStats button + button {
  border-left: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
}

.adminRolesImpactStats span {
  font-size: 9px;
  line-height: 1.1;
}

.adminRolesImpactStats strong {
  margin-top: 3px;
  font-size: 17px;
}

.adminRolesImpactStats button:nth-child(4) strong {
  color: color-mix(in srgb, var(--warning), black 34%);
}

.adminRolesImpactStats button:nth-child(5) strong {
  color: color-mix(in srgb, var(--danger), black 12%);
}

.adminRolesImpactWarnings {
  border: 1px solid color-mix(in srgb, var(--danger), transparent 78%);
  background: color-mix(in srgb, var(--danger), white 97%);
  border-radius: 8px;
  grid-column: 1 / -1;
  grid-template-columns: max-content minmax(0, 1fr);
  min-height: 38px;
  margin-top: 3px;
  padding: 9px 12px;
}

.adminRolesImpactWarnings li {
  padding-inline: 8px;
  font-size: 11px;
}

.adminRolesSelectedDetails {
  border-top: 0;
  grid-column: 1 / -1;
  padding: 0;
}

.adminRolesSelectedOverview .adminRolesMetaGrid {
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 10px 14px;
}

.adminRolesSelectedOverview .input {
  min-height: 36px;
}

.adminRolesSelectedOverview .adminRolesFieldWide .adminSettingsTextarea {
  min-height: 60px;
}

.adminRolesToggle {
  min-height: 36px;
  padding: 4px 0;
}

.adminRolesToggle span {
  white-space: nowrap;
}

.adminRolesPermissionsSection {
  margin-top: 2px;
  padding-top: 13px !important;
}

.adminRolesPermissionsStats button {
  min-height: 28px;
  padding: 5px 10px;
}

.adminRolesQuickFilters .adminRoleActionBtn, .adminRolesMatrixToolbarControls .adminRoleActionBtn, .adminRolesMatrixToolbarControls > input.input, .adminRolesMatrixToolbarControls > .adminRolesMatrixSelect {
  min-height: 32px;
}

.adminRolesMatrixToolbarControls {
  grid-template-columns: minmax(250px, 390px) repeat(3, minmax(142px, 164px)) auto;
  gap: 7px;
}

.adminRolesMatrixToolbarControls > input.input {
  max-width: none;
  font-size: 13px;
}

.adminRolesDangerZone {
  border: 1px solid color-mix(in srgb, var(--danger), transparent 42%);
  background: #fff;
  border-radius: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 0;
  padding: 10px 12px;
}

.adminRolesDangerZone .btnDanger {
  border-radius: 7px;
  min-height: 38px;
  padding-inline: 15px;
}

@media (max-width: 1220px) {
  .adminRolesSelectedOverview {
    grid-template-columns: minmax(0, 1fr);
  }

  .adminRolesSelectedOverview .adminRolesImpactStats {
    grid-column: 1;
  }
}

@media (max-width: 760px) {
  .adminRolesRoleSelectorStrip .adminRoleActionBtn {
    border-style: solid;
    min-height: 38px;
  }

  .adminRolesSelectedOverview {
    padding: 12px;
  }

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

  .adminRolesSelectedHeroIcon {
    display: none;
  }

  .adminRolesSelectedOverview .adminRolesImpactStats {
    border-top: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
    border-left: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
  }

  .adminRolesImpactStats button {
    border: 0;
    border-right: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
    border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 8%);
    border-radius: 0;
  }

  .adminRolesImpactStats button:nth-child(2n) {
    border-left: 0;
  }

  .adminRolesImpactWarnings {
    background: none;
    border-width: 0 0 1px;
    border-radius: 0;
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
    padding: 8px 0;
  }

  .adminRolesImpactWarnings ul {
    gap: 5px;
    display: grid;
  }

  .adminRolesImpactWarnings li, .adminRolesImpactWarnings li:first-child {
    border-left: 0;
    justify-content: flex-start;
    padding: 0;
  }

  .adminRolesSelectedOverview .adminRolesMetaGrid, .adminRolesMatrixToolbarControls, .adminRolesDangerZone {
    grid-template-columns: minmax(0, 1fr);
  }
}

.adminPayslipsPage {
  flex-direction: column;
  gap: 18px;
  display: flex;
  container: adminPayslipsPage / inline-size;
}

.adminPayslipsSummaryStrip {
  z-index: 90;
  border: 1px solid var(--stroke);
  background: var(--surface);
  min-height: 0;
  box-shadow: var(--shadow-sm);
  border-radius: 10px;
  align-items: center;
  gap: 10px 18px;
  padding: 12px 16px;
  display: grid;
  position: relative;
  overflow: visible;
}

.adminPayslipsSummaryStrip.isMonthlyPeriod, .adminPayslipsSummaryStrip.isSpecialPeriod {
  grid-template-columns: max-content max-content minmax(0, 1fr) max-content;
  grid-template-areas: "periodTabs monthPager summary actions";
  column-gap: 12px;
  padding-inline: 10px;
}

.adminPayslipsSummaryStrip.isMenuOpen {
  isolation: isolate;
  z-index: 10000;
}

.adminPayslipsSummaryStrip.isConnectorMissing {
  grid-template-columns: max-content max-content minmax(0, 1fr) max-content;
  grid-template-areas: "periodTabs monthPager . actions"
                       "summary summary summary summary";
}

.adminPayslipsSummaryStrip.isConnectorMissing .adminPayslipsSummaryMain {
  justify-self: stretch;
}

.adminPayslipsMonthPager, .adminPayslipsSummaryActions, .adminPayslipsRowActions {
  align-items: center;
  gap: 8px;
  display: flex;
}

.adminPayslipsMonthPager {
  grid-area: monthPager;
  justify-self: start;
  gap: 6px;
}

.adminPayslipsSummaryMain {
  grid-area: summary;
  justify-self: center;
  align-items: center;
  gap: 16px;
  min-width: 0;
  display: flex;
}

.adminPayslipsSummaryStrip.isMonthlyPeriod .adminPayslipsSummaryMain {
  justify-self: end;
}

.adminPayslipsSummaryStrip.isSpecialPeriod .adminPayslipsSummaryMain {
  place-self: center end;
}

.adminPayslipsSummaryStrip.isSpecialPeriod .adminPayslipsSummaryActions {
  align-self: center;
  gap: 10px;
}

.adminPayslipsSummaryStrip.isSpecialPeriod .adminPayslipsSummaryActions .btn {
  font-size: var(--ops-font-action, 12px);
  padding-inline: 8px;
}

.adminPayslipsPagerButton {
  justify-content: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
}

.adminPayslipsMonthButton {
  min-width: 144px;
  max-width: 280px;
  min-height: 44px;
  color: var(--text);
  cursor: default;
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  justify-content: center;
  gap: 7px;
}

.adminPayslipsSummaryStrip.isMonthlyPeriod .adminPayslipsMonthButton {
  min-width: 136px;
}

.adminPayslipsSummaryStrip.isSpecialPeriod .adminPayslipsMonthButton {
  min-width: 132px;
  max-width: 184px;
}

.adminPayslipsPeriodControls {
  grid-area: periodTabs;
  justify-self: start;
  align-items: center;
  min-width: 0;
  display: flex;
}

.adminPayslipsPeriodTypeGroup {
  border: 1px solid color-mix(in srgb, var(--focus) 24%, var(--stroke));
  background: color-mix(in srgb, var(--focus) 5%, #fff);
  border-radius: 9px;
  align-items: center;
  gap: 4px;
  min-height: 50px;
  padding: 2px;
  display: inline-flex;
}

.adminPayslipsPeriodTypeButton {
  border: 1px solid color-mix(in srgb, var(--stroke) 84%, var(--focus) 16%);
  min-height: 44px;
  color: color-mix(in srgb, var(--text) 86%, var(--muted));
  font: inherit;
  font-size: var(--ops-font-action, 12px);
  white-space: nowrap;
  cursor: pointer;
  background: #fff;
  border-radius: 7px;
  padding: 0 13px;
  font-weight: 800;
  transition: border-color .14s, background-color .14s, color .14s, box-shadow .14s;
}

.adminPayslipsPeriodTypeButton:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--focus) 44%, var(--stroke));
  background: color-mix(in srgb, var(--focus) 8%, #fff);
  color: color-mix(in srgb, var(--focus) 82%, var(--text));
}

.adminPayslipsPeriodTypeButton.isActive {
  color: #fff;
  border-color: var(--focus);
  background: var(--focus);
  box-shadow: 0 1px 7px color-mix(in srgb, var(--focus) 26%, transparent);
}

.adminPayslipsPeriodTypeButton.isActive:hover:not(:disabled), .adminPayslipsPeriodTypeButton.isActive:focus-visible {
  color: #fff;
  border-color: var(--focus);
  background: var(--focus);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus) 20%, transparent);
}

.adminPayslipsPeriodTypeButton:disabled {
  cursor: default;
  opacity: .65;
}

.adminPayslipsSummaryDivider {
  background: var(--stroke);
  width: 1px;
  height: 46px;
}

.adminPayslipsConnectorInline {
  align-items: center;
  gap: 10px;
  min-width: 212px;
  display: flex;
}

.adminPayslipsConnectorDot {
  background: var(--danger);
  width: 9px;
  height: 9px;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--danger) 14%, transparent);
  border-radius: 999px;
}

.adminPayslipsConnectorInline.isReady .adminPayslipsConnectorDot {
  background: var(--success);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--success) 14%, transparent);
}

.adminPayslipsConnectorInline strong {
  color: var(--text);
  font-size: var(--ops-font-primary, 13px);
  line-height: 1.15;
  display: block;
}

.adminPayslipsConnectorInline span:not(.adminPayslipsConnectorDot) {
  color: var(--muted);
  font-size: var(--ops-font-meta, 12px);
  margin-top: 3px;
  display: block;
}

.adminPayslipsSummaryMetrics {
  grid-template-columns: repeat(4, max-content);
  align-items: center;
  gap: 8px 10px;
  display: grid;
}

.adminPayslipsSummaryMetrics div {
  justify-items: start;
  gap: 3px;
  display: grid;
}

.adminPayslipsSummaryMetrics span {
  color: var(--muted);
  font-size: var(--ops-font-micro, 11px);
  text-transform: uppercase;
  font-weight: 800;
  line-height: 1;
}

.adminPayslipsSummaryMetrics strong {
  color: var(--text);
  font-size: 14px;
  line-height: 1;
}

.adminPayslipsSummaryActions {
  z-index: 95;
  grid-area: actions;
  justify-content: flex-end;
  place-self: start end;
  min-width: 0;
  margin-left: 0;
  position: relative;
}

.adminPayslipsSummaryStrip.isMonthlyPeriod .adminPayslipsSummaryActions {
  gap: 10px;
}

.adminPayslipsSummaryActions .btn {
  min-height: 44px;
  font-size: var(--ops-font-action, 12px);
  white-space: nowrap;
  align-items: center;
  gap: 6px;
  padding-inline: 10px;
  display: inline-flex;
}

.adminPayslipsSummaryStrip.isMonthlyPeriod .adminPayslipsSummaryActions .btn {
  font-size: var(--ops-font-action, 12px);
  padding-inline: 8px;
}

.adminPayslipsMoreWrap {
  z-index: 120;
  position: relative;
}

.adminPayslipsMoreButton {
  justify-content: center;
  min-width: 82px;
}

.adminPayslipsMoreMenu {
  z-index: 10001;
  border: 1px solid var(--border);
  background: var(--bg-2, #fff);
  border-radius: 8px;
  gap: 3px;
  width: 310px;
  max-width: min(310px, 100vw - 48px);
  padding: 8px;
  display: grid;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  box-shadow: 0 16px 34px #11182729;
}

.adminPayslipsMoreMenu button, .adminPayslipsMoreLink {
  min-height: 40px;
  color: var(--text);
  font: inherit;
  font-size: var(--ops-font-primary, 13px);
  text-align: left;
  background: none;
  border: 0;
  border-radius: 7px;
  align-items: flex-start;
  gap: 10px;
  padding: 9px 10px;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
  display: flex;
}

.adminPayslipsMoreMenu svg {
  flex: none;
  margin-top: 1px;
}

.adminPayslipsMoreMenu button:not(:disabled), .adminPayslipsMoreLink {
  cursor: pointer;
}

.adminPayslipsMoreMenu button:hover:not(:disabled), .adminPayslipsMoreLink:hover {
  background: var(--surface-muted);
}

.adminPayslipsMoreMenu button:disabled {
  color: var(--muted);
}

.adminPayslipsMessage {
  font-size: var(--ops-font-primary, 13px);
  border-radius: 8px;
  margin: 0;
  padding: 10px 12px;
}

.adminPayslipsMessage.isError {
  color: var(--danger);
  background: color-mix(in srgb, var(--danger) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--danger) 22%, var(--border));
}

.adminPayslipsLifecycleStrip {
  border-block: 1px solid var(--border);
  background: color-mix(in srgb, var(--surface-muted), white 42%);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  display: grid;
}

.adminPayslipsLifecycleStrip > div {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 3px 10px;
  min-width: 0;
  padding: 10px 14px;
  display: grid;
}

.adminPayslipsLifecycleStrip > div + div {
  border-left: 1px solid var(--border);
}

.adminPayslipsLifecycleStrip span {
  min-width: 0;
  color: var(--muted);
  font-size: var(--ops-font-meta, 12px);
  font-weight: 780;
}

.adminPayslipsLifecycleStrip strong {
  color: var(--text);
  font-family: var(--font-mono);
  font-size: 15px;
}

.adminPayslipsLifecycleStrip small {
  color: color-mix(in srgb, var(--success), black 12%);
  font-size: var(--ops-font-micro, 11px);
  grid-column: 1 / -1;
}

.adminPayslipsFilterBar {
  z-index: 40;
  position: relative;
}

.adminPayslipsFilterBar .adminListFilterPinnedGrid.adminListFilterGridVariantDocuments, .adminPayslipsFilterBar .adminListFilterPinnedGrid.adminListFilterGridVariantDocuments:not(.isExpanded) {
  grid-template-columns: minmax(280px, 1.18fr) minmax(152px, .52fr) minmax(152px, .52fr) minmax(190px, .84fr) max-content;
}

.adminPayslipsFilterReceipt {
  grid-area: period;
}

.adminPayslipsFilterClear {
  grid-area: action;
  place-self: center end;
  min-height: 44px;
  padding: 0 8px;
}

.adminPayslipsTable {
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  min-width: 1220px;
}

.adminPayslipsColWorker {
  width: 22%;
}

.adminPayslipsColMappedWorker {
  width: auto;
}

.adminPayslipsColPeriod {
  width: 13%;
}

.adminPayslipsColPdf {
  width: 8%;
}

.adminPayslipsColStatus {
  width: 9%;
}

.adminPayslipsColReceipt {
  width: 13%;
}

.adminPayslipsColActions {
  width: 176px;
}

.adminOperationsListPage .adminPayslipsActionsHeader, .adminOperationsListPage .adminPayslipsActionsCell {
  width: 176px;
  min-width: 176px;
  max-width: 176px;
}

.adminOperationsListPage .adminPayslipsTable thead th {
  text-align: left;
  white-space: nowrap;
  padding: 13px 12px;
}

.adminOperationsListPage .adminPayslipsTable thead th.adminPayslipsActionsHeader {
  text-align: right;
  padding-inline: 16px 18px;
}

.adminOperationsListPage .adminPayslipsTable tbody td.adminPayslipsActionsCell {
  padding-inline: 12px;
}

.adminOperationsListPage .adminPayslipsTable tbody td {
  border-bottom: 1px solid var(--stroke);
  font-size: var(--ops-font-row, 13px);
  text-align: left;
  padding: 14px 12px;
  line-height: 1.3;
}

.adminOperationsListPage .adminPayslipsTable tbody tr:last-child td {
  border-bottom: 0;
}

.adminPayslipsTableWrap {
  overflow-anchor: none;
  max-width: 100%;
  box-shadow: var(--shadow-sm);
  overflow: auto hidden;
}

.adminPayslipsTableMeta {
  border-bottom: 1px solid color-mix(in srgb, var(--stroke), transparent 12%);
  background: #fff;
  padding: 9px 14px;
}

.adminPayslipsTableMeta .adminListFilterMetaRow {
  padding-top: 0;
}

.adminPayslipsTableMeta .adminListFilterResultCount {
  padding-inline-start: 0;
  font-weight: 700;
}

.adminPayslipsTableMeta .adminListFilterRowsField, .adminPayslipsTableMeta .adminListFilterRowsField .listboxTrigger {
  min-height: 44px;
}

.adminPayslipsWorkerName, .adminPayslipsSubtle, .adminPayslipsMono, .adminPayslipsFile, .adminPayslipsReceipt, .adminPayslipsMappingSource, .adminPayslipsErrorText {
  display: block;
}

.adminPayslipsWorkerName {
  overflow-wrap: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
}

.adminPayslipsSubtle {
  color: var(--muted);
  font-size: var(--ops-font-meta, 12px);
  margin-top: 3px;
}

.adminPayslipsMono {
  font-family: var(--font-mono);
  font-size: var(--ops-font-primary, 13px);
}

.adminPayslipsWorkerSelect {
  width: min(100%, 360px);
  min-width: 260px;
}

.adminPayslipsMappingEditRow {
  align-items: center;
  gap: 8px;
  min-width: 300px;
  display: flex;
}

.adminPayslipsMappingLine {
  align-items: center;
  gap: 8px;
  min-width: 0;
  max-width: 100%;
  display: flex;
}

.adminPayslipsMappedWorker {
  min-width: 0;
  max-width: 100%;
  color: var(--text);
  font-size: var(--ops-font-primary, 13px);
  overflow-wrap: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
  overflow: hidden;
}

.adminPayslipsMappingBadge {
  border: 1px solid color-mix(in srgb, var(--muted) 24%, transparent);
  min-height: 22px;
  color: var(--muted);
  background: var(--surface);
  font-size: var(--ops-font-micro, 11px);
  white-space: nowrap;
  border-radius: 999px;
  align-items: center;
  padding: 0 7px;
  font-weight: 800;
  display: inline-flex;
}

.adminPayslipsMappingBadge.isAuto {
  color: color-mix(in srgb, var(--success), black 12%);
  border-color: color-mix(in srgb, var(--success) 26%, transparent);
  background: color-mix(in srgb, var(--success) 9%, transparent);
}

.adminPayslipsMappingBadge.isInactive {
  color: color-mix(in srgb, var(--warning), black 26%);
  border-color: color-mix(in srgb, var(--warning) 34%, transparent);
  background: color-mix(in srgb, var(--warning) 10%, transparent);
}

.adminPayslipsMappingSource {
  color: var(--muted);
  font-size: var(--ops-font-meta, 12px);
  margin-top: 4px;
  font-weight: 700;
}

.adminPayslipsMappingSource.isAuto {
  color: var(--success);
}

.adminPayslipsMappingEditBtn {
  width: 30px;
  min-width: 30px;
  height: 30px;
  min-height: 30px;
  color: var(--muted);
  background: none;
  border: 0;
  justify-content: center;
  padding: 0;
}

.adminPayslipsMappingCancelBtn {
  width: 34px;
  min-width: 34px;
  height: 34px;
  min-height: 34px;
  color: var(--muted);
  background: var(--surface);
  justify-content: center;
  padding: 0;
}

.adminPayslipsMappingCancelBtn:hover:not(:disabled) {
  color: var(--text);
  background: var(--surface-muted);
}

.adminPayslipsPeriodBadge {
  width: fit-content;
  min-height: 22px;
  font-size: var(--ops-font-micro, 11px);
  white-space: nowrap;
  border-radius: 999px;
  align-items: center;
  padding: 0 8px;
  font-weight: 850;
  line-height: 1;
  display: inline-flex;
}

.adminPayslipsPeriodBadge.isMonthly {
  color: var(--muted);
  background: var(--surface-muted);
}

.adminPayslipsPeriodBadge.isSpecial {
  color: color-mix(in srgb, var(--warning), black 28%);
  background: color-mix(in srgb, var(--warning) 12%, transparent);
}

.adminPayslipsFile {
  color: var(--text);
  white-space: nowrap;
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.adminPayslipsSourceRevision {
  width: fit-content;
  min-height: 21px;
  font-size: var(--ops-font-micro, 11px);
  white-space: nowrap;
  border-radius: 999px;
  align-items: center;
  margin-top: 5px;
  padding: 0 7px;
  font-weight: 800;
  line-height: 1;
  display: inline-flex;
}

.adminPayslipsSourceRevision.isChanged {
  color: color-mix(in srgb, var(--warning), black 30%);
  background: color-mix(in srgb, var(--warning) 16%, transparent);
}

.adminPayslipsSourceRevision.isCurrent {
  color: color-mix(in srgb, var(--success), black 10%);
  background: color-mix(in srgb, var(--success) 10%, transparent);
}

.adminPayslipsSourceRevision.isFailed {
  color: var(--danger);
  background: color-mix(in srgb, var(--danger) 10%, transparent);
}

.adminPayslipsSourceRevision.isUnknown {
  color: var(--muted);
  background: var(--surface-muted);
}

.adminPayslipsStatus {
  min-height: 24px;
  font-size: var(--ops-font-meta, 12px);
  border-radius: 999px;
  align-items: center;
  padding: 0 9px;
  font-weight: 800;
  display: inline-flex;
}

.adminPayslipsStatus.isSent, .adminPayslipsStatus.isReady {
  color: var(--success);
  background: color-mix(in srgb, var(--success) 10%, transparent);
}

.adminPayslipsStatus.isUnmatched {
  color: var(--warning);
  background: color-mix(in srgb, var(--warning) 13%, transparent);
}

.adminPayslipsStatus.isFailed {
  color: var(--danger);
  background: color-mix(in srgb, var(--danger) 10%, transparent);
}

.adminPayslipsStatus.isNeutral {
  color: var(--muted);
  background: var(--surface-muted);
}

.adminPayslipsErrorText {
  color: var(--danger);
  font-size: var(--ops-font-meta, 12px);
  max-width: 220px;
  margin-top: 4px;
}

.adminPayslipsReceipt {
  width: fit-content;
  min-height: 24px;
  font-size: var(--ops-font-meta, 12px);
  white-space: nowrap;
  border: 1px solid #0000;
  border-radius: 999px;
  align-items: center;
  padding: 0 9px;
  font-weight: 800;
  line-height: 1;
  display: inline-flex;
}

.adminPayslipsSignatureReceipt {
  width: fit-content;
  min-height: 22px;
  font-size: var(--ops-font-micro, 11px);
  white-space: nowrap;
  border: 1px solid #0000;
  border-radius: 999px;
  align-items: center;
  margin-top: 5px;
  padding: 0 8px;
  font-weight: 820;
  line-height: 1;
  display: inline-flex;
}

.adminPayslipsSignatureReceipt.isSigned {
  color: color-mix(in srgb, var(--success), black 12%);
  border-color: color-mix(in srgb, var(--success) 25%, transparent);
  background: color-mix(in srgb, var(--success) 10%, transparent);
}

.adminPayslipsSignatureReceipt.isCorrection {
  color: color-mix(in srgb, var(--warning), black 30%);
  border-color: color-mix(in srgb, var(--warning) 30%, transparent);
  background: color-mix(in srgb, var(--warning) 13%, transparent);
}

.adminPayslipsSignatureReceipt.isPending {
  color: color-mix(in srgb, var(--focus), black 12%);
  border-color: color-mix(in srgb, var(--focus) 25%, transparent);
  background: color-mix(in srgb, var(--focus) 9%, transparent);
}

.adminPayslipsSignatureReceipt.isNeutral {
  color: var(--muted);
  border-color: color-mix(in srgb, var(--stroke), transparent 32%);
  background: var(--surface-muted);
}

.adminPayslipsCorrectionReadiness {
  width: fit-content;
  max-width: 190px;
  font-size: var(--ops-font-micro, 11px);
  margin-top: 5px;
  font-weight: 700;
  line-height: 1.3;
  display: block;
}

.adminPayslipsCorrectionReadiness.isReady {
  color: color-mix(in srgb, var(--success), black 12%);
}

.adminPayslipsCorrectionReadiness.isBlocked {
  color: color-mix(in srgb, var(--warning), black 32%);
}

.adminPayslipsReissueDialog {
  width: min(620px, 100%);
}

.adminPayslipsReissueSummary {
  border-block: 1px solid var(--border);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  display: grid;
}

.adminPayslipsReissueSummary > div {
  gap: 5px;
  min-width: 0;
  padding: 12px;
  display: grid;
}

.adminPayslipsReissueSummary > div + div {
  border-left: 1px solid var(--border);
}

.adminPayslipsReissueSummary dt {
  color: var(--muted);
  font-size: var(--ops-font-micro, 11px);
  font-weight: 750;
}

.adminPayslipsReissueSummary dd {
  color: var(--text);
  font-family: var(--font-mono);
  margin: 0;
  font-size: 18px;
  font-weight: 800;
}

.adminPayslipsReceipt.isOpened {
  color: color-mix(in srgb, var(--focus), black 10%);
  border-color: color-mix(in srgb, var(--focus) 28%, transparent);
  background: color-mix(in srgb, var(--focus) 10%, transparent);
}

.adminPayslipsReceipt.isDelivered {
  color: color-mix(in srgb, var(--ok), black 10%);
  border-color: color-mix(in srgb, var(--ok) 26%, transparent);
  background: color-mix(in srgb, var(--ok) 10%, transparent);
}

.adminPayslipsReceipt.isNotOpened {
  color: var(--muted);
  border-color: color-mix(in srgb, var(--stroke), transparent 32%);
  background: var(--surface-muted);
}

.adminPayslipsIconBtn {
  flex: 0 0 44px;
  justify-content: center;
  align-items: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  display: inline-flex;
}

.adminPayslipsPager {
  overflow-anchor: none;
  border-top: 1px solid var(--border);
  padding: 12px 14px;
}

.adminPayslipsEmptyCell {
  color: var(--muted);
  text-align: center;
  padding: 30px 16px;
}

@container adminPayslipsPage (max-width: 1480px) {
  .adminPayslipsSummaryStrip.isSpecialPeriod {
    grid-template-columns: max-content max-content minmax(0, 1fr) max-content;
    grid-template-areas: "periodTabs monthPager summary actions";
    column-gap: 12px;
  }

  .adminPayslipsSummaryStrip.isSpecialPeriod.isConnectorMissing {
    grid-template-areas: "periodTabs monthPager . actions"
                         "summary summary summary summary";
  }
}

@container adminPayslipsPage (max-width: 1180px) {
  .adminPayslipsSummaryStrip.isMonthlyPeriod, .adminPayslipsSummaryStrip.isSpecialPeriod {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "periodTabs monthPager"
                         "summary summary"
                         "actions actions";
  }

  .adminPayslipsSummaryMain {
    justify-self: stretch;
  }

  .adminPayslipsSummaryActions {
    flex-wrap: wrap;
    align-self: start;
    width: 100%;
    min-width: 0;
  }
}

@container adminPayslipsPage (max-width: 760px) {
  .adminPayslipsSummaryStrip.isMonthlyPeriod, .adminPayslipsSummaryStrip.isSpecialPeriod {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "periodTabs"
                         "monthPager"
                         "summary"
                         "actions";
    align-items: stretch;
  }

  .adminPayslipsMonthPager, .adminPayslipsPeriodControls, .adminPayslipsSummaryActions {
    width: 100%;
  }

  .adminPayslipsSummaryDivider {
    width: 100%;
    height: 1px;
  }

  .adminPayslipsSummaryMain {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

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

  .adminPayslipsPeriodTypeGroup {
    width: 100%;
    max-width: none;
  }

  .adminPayslipsPeriodTypeButton {
    flex: 1 1 0;
  }

  .adminPayslipsConnectorInline, .adminPayslipsSummaryMetrics, .adminPayslipsSummaryActions {
    margin-left: 0;
  }

  .adminPayslipsConnectorInline {
    min-width: 0;
  }

  .adminPayslipsSummaryMetrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

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

  .adminPayslipsLifecycleStrip > div:nth-child(3) {
    border-left: 0;
  }

  .adminPayslipsLifecycleStrip > div:nth-child(n+3) {
    border-top: 1px solid var(--border);
  }

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

  .adminPayslipsReissueSummary > div + div {
    border-top: 1px solid var(--border);
    border-left: 0;
  }

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

  .adminPayslipsSummaryActions .btn {
    width: 100%;
  }

  .adminPayslipsMoreMenu {
    width: 100%;
    left: 0;
    right: auto;
  }

  .adminPayslipsMappingLine, .adminPayslipsMappingEditRow {
    flex-wrap: wrap;
    align-items: flex-start;
    min-width: 260px;
  }

  .adminPayslipsPager {
    padding-inline: 10px;
  }
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__07_ar_s._.css.map*/