
html.ops-navy {
  --frame: var(--ops-bg-canvas);
  --page: var(--ops-bg-canvas);
  --surface: var(--ops-bg-surface);
  --raised: var(--ops-bg-surface);
  --line: var(--ops-line-default);
  --t1: var(--ops-text-primary);
  --t2: var(--ops-text-secondary);
  --t3: var(--ops-text-tertiary);
  --green: var(--ops-status-good);
  --ink: var(--ops-text-on-category);
  --c-get: var(--ops-bucket-get);
  --c-serve: var(--ops-bucket-serve);
  --c-ops: var(--ops-bucket-ops);
  --c-growth: var(--ops-bucket-grow);
  --c-none: var(--ops-bucket-none);
  --jon: var(--ops-person-jon);
  --kendra: var(--ops-person-kendra);
  --staff: var(--ops-person-staff);
  --red: var(--ops-status-bad);
  --amber: var(--ops-status-warn);
  --ok: var(--ops-status-good);
  --gold: var(--ops-status-warn);
  --list: var(--ops-bg-surface);
  --card: var(--ops-bg-surface);
  --cardh: var(--ops-bg-surface-hover);
  --field: var(--ops-bg-field);
  --edge: var(--ops-line-default);
  --hover: var(--ops-hover-wash);
  --over: 0 12px 32px var(--ops-shadow-over);
  --g-def: var(--ops-board-gradient-def);
  --g-get: var(--ops-board-gradient-get);
  --g-serve: var(--ops-board-gradient-serve);
  --g-ops: var(--ops-board-gradient-ops);
  --g-growth: var(--ops-board-gradient-growth);
  --g-none: var(--ops-board-gradient-none);
  --g-dusk: var(--ops-board-gradient-dusk);
  --g-sea: var(--ops-board-gradient-sea);
  --sh-top: 48px;
  --sh-menu: 240px;
  --sh-pad: 24px;
  --sh-gap: 32px;
  --sh-card: 16px;
  --sh-list-gap: 12px;
  --sh-list-w: 288px;
  --sh-drawer-w: 480px;
  --sh-dialog-w: 880px;
  --sh-search-w: 560px;
  --sh-row: 40px;
  --danger: var(--ops-status-bad);
  --dp3-danger: var(--ops-status-bad);
  --dp-crit-t: var(--ops-status-bad);
  --dp2-action: var(--ops-accent-primary);
  --dp2-gold: var(--ops-accent-primary);
  --pg-edge: var(--sh-pad);
}
@media (max-width: 767px) {
  html.ops-navy { --sh-pad: 16px; }
}
html.ops-navy .btn.primary,
html.ops-navy .pin-gate .btn.primary,
html.ops-navy .install-go,
html.ops-navy .dp2-btn.install-go { background: var(--ops-accent-primary); color: var(--ops-accent-on-primary); }
html.ops-navy :is(.btn.primary, .dp3-btn--primary, .dp3-btn--gold, .install-go):active:not(:disabled) { background: var(--ops-accent-primary-press); }
html.ops-navy .toast-undo { background: var(--ops-bg-canvas); }

@media (max-width: 1699px) { html.ops-navy { --sh-search-w: 420px; } }
html.ops-navy.sh-rail { --sh-menu: 56px; }
html.ops-navy.sh-fs1 { --sh-top: 0px; --sh-menu: 0px; }

html.ops-navy .i, html.ops-navy .sh-i { flex: none; display: block; }

html.ops-navy #top {
  position: sticky;
  top: 0;
  z-index: 30;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, var(--sh-search-w)) minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  box-sizing: border-box;
  height: calc(var(--sh-top) + env(safe-area-inset-top, 0px));
  min-height: 0;
  padding: env(safe-area-inset-top, 0px) 16px 0 8px;
  margin: 0;
  background: var(--frame);
  border: 0;
  box-shadow: none;
  width: auto;
}
html.ops-navy .sh-top-l, html.ops-navy .sh-top-r { display: flex; align-items: center; gap: 8px; min-width: 0; }
html.ops-navy .sh-top-r { justify-content: flex-end; grid-column: 3; }
html.ops-navy #top .brand {
  display: flex;
  align-items: center;
  gap: 10px;
  height: auto;
  margin: 0 0 0 4px;
  padding: 0;
  white-space: nowrap;
}
html.ops-navy #top .brand-logo { width: 22px; height: 25px; display: block; }
html.ops-navy #top .ws-name { font: 600 16px/22px var(--dp5-font, Inter, system-ui, sans-serif); color: var(--t1); }
html.ops-navy .sh-ib,
html.ops-navy #top #search-btn,
html.ops-navy #top #bell-btn,
html.ops-navy #top #inbox-btn {
  position: relative;
  box-sizing: border-box;
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;
  margin: 0;
  padding: 0;
  display: grid;
  place-items: center;
  flex: none;
  border: 0;
  border-radius: 6px;
  background: transparent;
  box-shadow: none;
  color: var(--t2);
  cursor: pointer;
}
html.ops-navy #top #bell-btn[hidden], html.ops-navy #top #inbox-btn[hidden] { display: none; }
html.ops-navy .sh-ib:hover,
html.ops-navy #top #search-btn:hover,
html.ops-navy #top #bell-btn:hover,
html.ops-navy #top #inbox-btn:hover { background: var(--hover); color: var(--t1); box-shadow: none; }
html.ops-navy .sh-ib[aria-pressed="true"] { background: var(--hover); color: var(--t1); }
html.ops-navy #top #bell-btn.is-here, html.ops-navy #top #inbox-btn.is-here { color: var(--t1); background: var(--hover); }
html.ops-navy .sh-ib svg, html.ops-navy #top #search-btn svg, html.ops-navy #top #bell-btn svg, html.ops-navy #top #inbox-btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
html.ops-navy #top #bell-btn .bell-count {
  position: absolute;
  top: 0;
  right: -2px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  box-sizing: border-box;
  border-radius: 4px;
  background: var(--ops-badge-bg);
  color: var(--ops-badge-text);
  font: 700 11px/16px var(--dp5-font, Inter, system-ui, sans-serif);
  text-align: center;
}
html.ops-navy #top .att-dot { position: absolute; top: 6px; right: 6px; width: 8px; height: 8px; border-radius: 50%; background: var(--ops-status-bad); }
html.ops-navy #top :is(button, select, a):focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }

html.ops-navy #top #q {
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-width: 0;
  height: 32px;
  margin: 0;
  padding: 0 12px 0 36px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: var(--field) var(--ops-icon-search) no-repeat 10px 50% / 18px 18px;
  color: var(--t1);
  font: 400 15px/22px var(--dp5-font, Inter, system-ui, sans-serif);
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
}
html.ops-navy #top #q::placeholder { color: var(--ops-text-placeholder); opacity: 1; }
html.ops-navy #top #q::-webkit-search-cancel-button { display: none; }
html.ops-navy #top #q:hover { background-color: var(--ops-bg-field); border-color: var(--ops-line-strong); }
html.ops-navy :is(#top .brand, #menu .sh-mbrand) { cursor: pointer; }
html.ops-navy :is(#top .brand, #menu .sh-mbrand):focus-visible { outline: none; border-radius: 6px; box-shadow: inset 0 0 0 1.5px var(--ops-focus); }
html.ops-navy #top #q:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px var(--ops-focus); }
html.ops-navy #top #q[hidden] { display: none; }
html.ops-navy #top #search-btn { display: none; }
html.ops-navy body.gated #top #q { display: none; }

html.ops-navy #top #fab {
  position: static;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: auto;
  min-width: 0;
  height: 36px;
  min-height: 36px;
  margin: 0;
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: var(--ops-accent-primary);
  color: var(--ops-accent-on-primary);
  font: 600 15px/22px var(--dp5-font, Inter, system-ui, sans-serif);
  white-space: nowrap;
  box-shadow: none;
  transform: none;
  flex: none;
}
html.ops-navy #top #fab:hover { background: var(--ops-accent-primary-hover); transform: none; box-shadow: none; }
html.ops-navy #top #fab:active { background: var(--ops-accent-primary-press); }
html.ops-navy #top #fab:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px var(--ops-accent-on-primary); }
html.ops-navy #top #fab .fab-plus { display: inline; font-size: 18px; line-height: 18px; }
html.ops-navy #top #fab .fab-label { display: inline; }
html.ops-navy #top #fab[data-hidden] { display: none; }

html.ops-navy #top .sync { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex: none; width: auto; margin: 0; padding: 0; background: none; border: 0; }
html.ops-navy #top #net-chip { margin: 0; padding: 2px 8px; border-radius: 4px; font: 600 12px/16px var(--dp5-font, Inter, system-ui, sans-serif); background: var(--raised); color: var(--t1); white-space: nowrap; }
html.ops-navy #top #net-chip[hidden] { display: none; }
html.ops-navy #top #menu-btn,
html.ops-navy #top #menu-btn.avatar-btn {
  position: static;
  box-sizing: border-box;
  width: 36px;
  height: 36px;
  min-width: 36px;
  margin: 0;
  padding: 0;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 6px;
  background: transparent;
  box-shadow: none;
  color: var(--ops-nav-text-active);
}
html.ops-navy #top #menu-btn:hover { background: var(--ops-hover-wash); box-shadow: none; }
html.ops-navy #top #menu-btn[hidden] { display: none; }
html.ops-navy #top #menu-btn .menu-label { display: none; }
html.ops-navy #top #menu-btn .acct-disc {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--staff);
  color: var(--ops-text-on-category);
  font: 700 13px/28px var(--dp5-font, Inter, system-ui, sans-serif);
}
html.ops-navy #top #menu-btn[data-who="jon"] .acct-disc { background: var(--jon); }
html.ops-navy #top #menu-btn[data-who="kendra"] .acct-disc { background: var(--kendra); }
html.ops-navy #top .who { display: flex; align-items: center; gap: 6px; margin: 0; padding: 0; font-size: 13px; color: var(--t2); }
html.ops-navy #top .who select { height: 32px; border-radius: 6px; border: 1px solid var(--line); background: var(--field); color: var(--t1); padding: 0 8px; }

html.ops-navy #menu {
  position: fixed;
  top: var(--sh-top);
  left: 0;
  bottom: 0;
  z-index: 20;
  width: var(--sh-menu);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  padding: 8px 0 24px;
  overflow-x: hidden;
  overflow-y: auto;
  background: var(--ops-nav-bg);
}
html.ops-navy #menu #tabs { display: contents; }
html.ops-navy #menu #tabs button {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  flex: none;
  width: calc(100% - 16px);
  min-height: var(--sh-row);
  margin: 0 8px 2px;
  padding: 0 12px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  box-shadow: none;
  color: var(--ops-nav-text);
  font: 400 15px/22px var(--dp5-font, Inter, system-ui, sans-serif);
  text-align: left;
  cursor: pointer;
}
html.ops-navy #menu #tabs button .tab-ic { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
html.ops-navy #menu #tabs button span { flex: 1; min-width: 0; font: inherit; color: inherit; overflow-wrap: anywhere; }
html.ops-navy #menu #tabs button:hover { background: var(--ops-hover-wash); color: var(--ops-nav-text-active); }
html.ops-navy #menu #tabs button:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }
html.ops-navy #menu #tabs button.active,
html.ops-navy #menu #tabs button.active:hover { background: var(--ops-nav-active-bg); color: var(--ops-nav-text-active); font-weight: 600; box-shadow: none; }
html.ops-navy #menu #tabs button.active::before {
  content: "";
  position: absolute;
  left: -8px;
  top: 8px;
  bottom: 8px;
  width: 3px;
  background: var(--ops-nav-marker);
}
html.ops-navy #menu #tabs button.active .tab-ic { stroke: currentColor; }
html.ops-navy #menu #tabs button[data-count]::after {
  content: attr(data-count);
  flex: none;
  box-sizing: border-box;
  min-width: 22px;
  height: 20px;
  margin-left: auto;
  padding: 0 6px;
  border-radius: 4px;
  background: var(--ops-bg-surface);
  color: var(--ops-text-secondary);
  font: 600 12px/20px var(--dp5-font, Inter, system-ui, sans-serif);
  text-align: center;
}
html.ops-navy #menu #tabs button[data-count=""]::after,
html.ops-navy #menu #tabs button[data-count="0"]::after { content: none; }
html.ops-navy #menu #tabs button.tab-add { display: none; }
html.ops-navy #menu #tabs button[hidden] { display: none; }
html.ops-navy #menu #menu-add { order: 1; }
html.ops-navy #menu #tabs [data-view="today"] { order: 2; }
html.ops-navy #menu #tabs [data-view="plan"] { order: 3; }
html.ops-navy #menu #tabs [data-view="projects"] { order: 4; }
html.ops-navy #menu #tabs [data-view="charts"] { order: 5; }
html.ops-navy #menu #tabs [data-view="links"] { order: 6; }
html.ops-navy #menu .sh-more { display: contents; }
html.ops-navy #menu #sh-folder { order: 7; }
html.ops-navy #menu #pv-mini { order: 8; }

html.ops-navy #menu #menu-add {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex: none;
  width: calc(100% - 24px);
  height: 40px;
  margin: 4px 12px 12px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: var(--ops-accent-primary);
  color: var(--ops-accent-on-primary);
  font: 600 15px/22px var(--dp5-font, Inter, system-ui, sans-serif);
  cursor: pointer;
}
html.ops-navy #menu #menu-add:hover { background: var(--ops-accent-primary-hover); }
html.ops-navy #menu #menu-add:active { background: var(--ops-accent-primary-press); }
html.ops-navy #menu #menu-add:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px var(--ops-accent-on-primary); }
html.ops-navy #menu #menu-add[hidden] { display: none; }
html.ops-navy #menu #menu-add .sh-foot-plus { font-size: 18px; line-height: 18px; }
html.ops-navy #menu #menu-add .sh-foot-label { flex: none; padding: 0; }

html.ops-navy .sh-mh { margin: 0; padding: 16px 20px 6px; font: 600 13px/18px var(--dp5-font, Inter, system-ui, sans-serif); color: var(--t3); }

html.ops-navy #menu .ptn-p {
  position: relative;
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: calc(100% - 16px);
  min-height: 36px;
  margin: 0 8px 2px;
  padding: 8px 12px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  box-shadow: none;
  color: var(--ops-nav-text);
  font: 400 14px/20px var(--dp5-font, Inter, system-ui, sans-serif);
  text-align: left;
  cursor: pointer;
}
html.ops-navy #menu .ptn-dot { flex: none; width: 8px; height: 8px; margin: 6px; border-radius: 50%; background: var(--cc, var(--c-none)); }
html.ops-navy #menu .ptn-p span {
  flex: 1;
  min-width: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  overflow-wrap: anywhere;
  font: inherit;
  color: inherit;
}
html.ops-navy #menu .ptn-p:hover { background: var(--ops-hover-wash); color: var(--ops-nav-text-active); }
html.ops-navy #menu .ptn-p[aria-current="page"],
html.ops-navy #menu .ptn-p[aria-current="page"]:hover { background: var(--ops-nav-active-bg); color: var(--ops-nav-text-active); font-weight: 600; }
html.ops-navy #menu .ptn-p:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }
html.ops-navy #menu .k-get { --cc: var(--c-get); }
html.ops-navy #menu .k-serve { --cc: var(--c-serve); }
html.ops-navy #menu .k-ops { --cc: var(--c-ops); }
html.ops-navy #menu .k-growth { --cc: var(--c-growth); }
html.ops-navy #menu .k-none { --cc: var(--c-none); }

html.ops-navy #menu #pv-nav-projects { display: block; margin: 0; padding: 0; background: none; border: 0; }
html.ops-navy #menu #pv-nav-projects:empty::after { content: "No projects yet"; display: block; margin: 0 20px; padding: 8px 0; font-size: 14px; line-height: 20px; color: var(--t3); }

html.ops-navy #menu:has(#tabs [data-view="projects"][style*="none"]) #sh-folder { display: none; }

html.ops-navy.sh-rail #menu #menu-add { width: 40px; margin: 4px 8px 12px; padding: 0; }
html.ops-navy.sh-rail #menu #menu-add .sh-foot-label { display: none; }
html.ops-navy.sh-rail #menu #tabs button { justify-content: center; width: 40px; margin: 0 8px 4px; padding: 0; }
html.ops-navy.sh-rail #menu #tabs button span,
html.ops-navy.sh-rail #menu #tabs button::after { display: none; }
html.ops-navy.sh-rail #menu #pv-mini, html.ops-navy.sh-rail #menu #sh-folder { display: none; }

@media (min-width: 1440px) {
  html.ops-navy .shell { top: var(--sh-top) !important; left: var(--sh-menu) !important; }
  html.ops-navy :is(#pv-side, #season-inspector, #dp5-panel) { top: var(--sh-top) !important; }
}
html.ops-navy.sh-fs1 #top,
html.ops-navy.sh-fs1 #menu { display: none; }

html.ops-navy body.gated :is(#top, #menu, #toolbar, #bot, #sw, .sh-menu-scrim) { display: none !important; }
@media (min-width: 1440px) {
  html.ops-navy body.gated .shell { top: 0 !important; left: 0 !important; }
}

html.ops-navy #toolbar {
  position: relative;
  z-index: 5;
  flex: none;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 8px;
  height: 48px;
  min-height: 48px;
  padding: 0 var(--sh-pad);
  background: var(--page);
  border-bottom: 1px solid var(--line);
}
html.ops-navy .sh-tb-title { margin: 0; font: 600 20px/28px var(--dp5-font, Inter, system-ui, sans-serif); color: var(--t1); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
html.ops-navy .sh-tb-sub { margin-left: 8px; font-size: 13px; line-height: 18px; color: var(--t3); white-space: nowrap; }
html.ops-navy #toolbar .sh-tb-body { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; }
html.ops-navy #toolbar .sh-tb-body:empty { display: none; }
html.ops-navy #toolbar .sh-tb-sp { flex: 1; }
html.ops-navy #toolbar .sh-tail { display: flex; align-items: center; gap: 8px; margin-left: auto; flex: none; }
html.ops-navy.sh-tb-on #toolbar .sh-tb-title, html.ops-navy.sh-tb-on #toolbar .sh-tb-sub { display: none; }
html.ops-navy.sh-tb-on #toolbar > .sh-tail { display: none; }
html.ops-navy #toolbar .sh-tbid { flex: 0 1 auto; min-width: 0; display: flex; align-items: baseline; gap: 12px; }
html.ops-navy #toolbar .sh-tbt { margin: 0; flex: none; max-width: 100%; font: 700 28px/34px var(--dp5-font, Inter, system-ui, sans-serif); letter-spacing: -0.01em; color: var(--ops-text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.ops-navy #toolbar .sh-tbs { min-width: 0; font-size: 14px; line-height: 20px; color: var(--ops-text-tertiary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 1439px) {
  html.ops-navy #toolbar .sh-tbt { font-size: 18px; line-height: 22px; }
  html.ops-navy #toolbar .sh-tbs { font-size: 13px; line-height: 18px; }
}
@media (max-width: 767px) {
  html.ops-navy #toolbar .sh-tbid { display: block; }
  html.ops-navy #toolbar .sh-tbt { font-size: 24px; line-height: 30px; }
  html.ops-navy #toolbar .sh-tbs { font-size: 14px; line-height: 20px; }
  html.ops-navy.sh-tb-on #toolbar { height: auto; min-height: 0; padding: 16px var(--sh-pad) 12px; align-items: flex-start; }
  html.ops-navy.sh-tb-on #toolbar .sh-tb-body { align-items: flex-start; }
}
html.ops-navy #toolbar .sh-fsadd { display: none; }
html.ops-navy.sh-fs1 #toolbar .sh-fsadd { display: inline-flex; }
html.ops-navy .sh-btn {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 36px;
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--t1);
  font: 600 15px/22px var(--dp5-font, Inter, system-ui, sans-serif);
  white-space: nowrap;
  cursor: pointer;
}
html.ops-navy .sh-btn:hover { background: var(--hover); }
html.ops-navy .sh-btn:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }
html.ops-navy .sh-btn.sh-fill, html.ops-navy #toolbar .sh-fsadd { background: var(--ops-accent-primary); color: var(--ops-accent-on-primary); border-color: transparent; }
html.ops-navy .sh-btn.sh-fill:hover, html.ops-navy #toolbar .sh-fsadd:hover { background: var(--ops-accent-primary-hover); }
html.ops-navy .sh-btn.sh-fill:active, html.ops-navy #toolbar .sh-fsadd:active { background: var(--ops-accent-primary-press); }
html.ops-navy .sh-btn.sh-out { border-color: var(--ops-line-strong); color: var(--t1); background: var(--ops-btn-bg); }
html.ops-navy .sh-btn.sh-out:hover { background: var(--ops-btn-bg-hover); }
html.ops-navy .sh-btn.sh-out:active { background: var(--ops-btn-bg-press); }
html.ops-navy #view:has(> :is(.m2-main, .pr-root)) { padding: 0; }


html.ops-navy .shell > .hdr { display: none !important; }
html.ops-navy body:is([data-view="calendar"], [data-view="plan"]) :is(.sh-tb-title, .sh-tb-sub),
html.ops-navy body:is([data-view="charts"], [data-view="inbox"], [data-view="links"], [data-view="friday"], [data-view="projects"]):has(#view > :is(.ib-main, .lk-main, .fr-main, .pp, .pt-root)) :is(.sh-tb-title, .sh-tb-sub) { display: none; }

html.ops-navy:not(.sh-tb-on):not(.sh-fs1) body.restyle:is([data-view="inbox"], [data-view="links"], [data-view="friday"], [data-view="projects"]):has(#view > :is(.ib-main, .lk-main, .fr-main, .pp, .pt-root)) #toolbar { display: none; }

html.ops-navy #layer { position: fixed; inset: 0; z-index: 40; pointer-events: none; }
html.ops-navy #layer > * { pointer-events: auto; }
html.ops-navy #layer:empty { display: none; }
html.ops-navy .sh-scrim { position: fixed; inset: var(--sh-top) 0 0 0; z-index: 40; background: var(--ops-scrim); }
html.ops-navy .sh-scrim.sh-dl { inset: 0; z-index: 50; background: var(--ops-scrim); }
html.ops-navy .sh-drawer {
  position: fixed;
  top: var(--sh-top);
  right: 0;
  bottom: 0;
  z-index: 41;
  box-sizing: border-box;
  width: var(--sh-drawer-w);
  max-width: 100vw;
  display: flex;
  flex-direction: column;
  background: var(--ops-bg-panel);
  border-left: 1px solid var(--ops-line-default);
  border-top: 1px solid var(--ops-line-default);
  box-shadow: none;
  color: var(--t1);
}
html.ops-navy .sh-dh { display: flex; align-items: center; gap: 8px; flex: none; padding: 16px 10px 8px 24px; }
html.ops-navy .sh-dh h2 { margin: 0; font: 600 20px/28px var(--dp5-font, Inter, system-ui, sans-serif); overflow-wrap: anywhere; }
html.ops-navy .sh-dh .sh-ct { font-size: 16px; line-height: 24px; font-weight: 600; color: var(--t2); }
html.ops-navy .sh-dh .sh-ib { margin-left: auto; }
html.ops-navy .sh-tabs { display: flex; flex-wrap: wrap; flex: none; padding: 0 20px; border-bottom: 1px solid var(--line); }
html.ops-navy .sh-tab {
  height: 40px;
  margin: 0 6px;
  padding: 0 4px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: none;
  color: var(--t2);
  font: 600 14px/20px var(--dp5-font, Inter, system-ui, sans-serif);
  cursor: pointer;
}
html.ops-navy .sh-tab:hover { color: var(--t1); background: none; }
html.ops-navy .sh-tab[aria-selected="true"] { color: var(--t1); border-bottom-color: var(--ops-nav-marker); }
html.ops-navy .sh-tab:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }
html.ops-navy .sh-db { flex: 1; min-height: 0; overflow: auto; padding: 8px 12px 32px; }
html.ops-navy .sh-dialog {
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 51;
  box-sizing: border-box;
  width: var(--sh-dialog-w);
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 80px);
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  overflow: auto;
  background: var(--ops-bg-panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 24px 48px var(--ops-shadow-over);
  color: var(--t1);
}
html.ops-navy .sh-pop {
  position: fixed;
  z-index: 60;
  box-sizing: border-box;
  max-width: calc(100vw - 16px);
  max-height: calc(100vh - 16px);
  overflow: auto;
  padding: 8px;
  background: var(--ops-bg-panel);
  border: 1px solid var(--edge);
  border-radius: 8px;
  box-shadow: var(--over);
  color: var(--t1);
}
html.ops-navy .sh-pi {
  display: flex;
  align-items: center;
  gap: 10px;
  box-sizing: border-box;
  width: 100%;
  min-height: 36px;
  padding: 8px 10px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--t1);
  font: 400 15px/22px var(--dp5-font, Inter, system-ui, sans-serif);
  text-align: left;
  cursor: pointer;
}
html.ops-navy .sh-pi:hover { background: var(--ops-hover-wash); }
html.ops-navy .sh-pi:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }
html.ops-navy .sh-hover {
  position: fixed;
  z-index: 55;
  box-sizing: border-box;
  width: 280px;
  padding: 14px;
  background: var(--list);
  border: 1px solid var(--edge);
  border-radius: 8px;
  box-shadow: var(--over);
  color: var(--t1);
}

html.ops-navy .sh-ib.is-off { visibility: hidden; }
html.ops-navy #menu .sh-mtop { order: 0; flex: none; position: sticky; top: 0; z-index: 3; background: var(--ops-nav-bg); }
html.ops-navy #menu .sh-mhead { display: flex; align-items: center; gap: 4px; box-sizing: border-box; height: 64px; padding: 0 12px 0 16px; }
html.ops-navy #menu .sh-mbrand { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; white-space: nowrap; }
html.ops-navy #menu .sh-mlogo { width: 22px; height: 25px; display: block; flex: none; }
html.ops-navy #menu .sh-mname { font: 600 16px/22px var(--dp5-font, Inter, system-ui, sans-serif); color: var(--ops-nav-text-active); }
html.ops-navy #menu #pv-mini { margin-bottom: 16px; }
html.ops-navy #menu #menu-foot {
  order: 10;
  flex: none;
  position: sticky;
  bottom: 0;
  z-index: 3;
  margin-top: auto;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 40px;
  align-items: center;
  gap: 4px 8px;
  padding: 12px;
  background: var(--ops-nav-bg);
  border-top: 1px solid var(--line);
}
html.ops-navy #menu #menu-foot > * { grid-column: 1 / -1; }
html.ops-navy #menu #menu-foot > .sh-foot-id { grid-column: 1; }
html.ops-navy #menu #menu-foot > .sh-foot-theme { grid-column: 2; }
html.ops-navy #menu #menu-foot > [hidden] { display: none; }
html.ops-navy #menu #menu-foot .sh-foot-row {
  position: relative;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 40px;
  margin: 0;
  padding: 0 8px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--ops-nav-text);
  font: 400 15px/22px var(--dp5-font, Inter, system-ui, sans-serif);
  text-align: left;
  cursor: pointer;
}
html.ops-navy #menu #menu-foot .sh-foot-id { min-height: 48px; }
html.ops-navy #menu #menu-foot .sh-foot-row:hover { background: var(--ops-hover-wash); color: var(--ops-nav-text-active); }
html.ops-navy #menu #menu-foot .sh-foot-row.is-here { background: var(--ops-nav-active-bg); color: var(--ops-nav-text-active); }
html.ops-navy #menu #menu-foot .sh-foot-row:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }
html.ops-navy #menu #menu-foot .sh-foot-row > svg { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
html.ops-navy #menu #menu-foot .sh-foot-label { flex: 1; min-width: 0; padding: 8px 0; overflow-wrap: anywhere; }
html.ops-navy #menu #menu-foot .sh-foot-text { flex: 1; min-width: 0; display: flex; flex-direction: column; }
html.ops-navy #menu #menu-foot .sh-foot-name { padding: 0; overflow-wrap: anywhere; color: var(--ops-nav-text-active); font: 600 14px/20px var(--dp5-font, Inter, system-ui, sans-serif); }
html.ops-navy #menu #menu-foot .sh-foot-role { color: var(--t3); font: 400 13px/18px var(--dp5-font, Inter, system-ui, sans-serif); }
html.ops-navy #menu #menu-foot .sh-foot-role:empty { display: none; }
html.ops-navy #menu #menu-foot .sh-foot-count {
  flex: none;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  box-sizing: border-box;
  border-radius: 4px;
  background: var(--ops-badge-bg);
  color: var(--ops-badge-text);
  font: 700 12px/18px var(--dp5-font, Inter, system-ui, sans-serif);
  text-align: center;
}
html.ops-navy #menu #menu-foot .sh-foot-count[hidden] { display: none; }
html.ops-navy #menu #menu-foot .sh-foot-face { display: grid; place-items: center; flex: none; width: 32px; height: 32px; color: var(--t1); }
html.ops-navy #menu #menu-foot .sh-foot-face svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
html.ops-navy #menu #menu-foot .acct-disc { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--staff); color: var(--ops-text-on-category); font: 700 14px/32px var(--dp5-font, Inter, system-ui, sans-serif); }
html.ops-navy #menu #menu-foot .sh-foot-row[data-who="jon"] .acct-disc { background: var(--jon); }
html.ops-navy #menu #menu-foot .sh-foot-row[data-who="kendra"] .acct-disc { background: var(--kendra); }
html.ops-navy #menu #menu-foot .sh-foot-net { align-self: flex-start; padding: 2px 8px; border-radius: 4px; background: var(--ops-bg-surface); color: var(--t1); font: 600 12px/16px var(--dp5-font, Inter, system-ui, sans-serif); }
html.ops-navy #menu #menu-foot .sh-foot-who { display: flex; align-items: center; gap: 8px; padding: 0 8px 4px; font-size: 13px; color: var(--t2); }
html.ops-navy #menu #menu-foot .sh-foot-who select { flex: 1; min-width: 0; height: 32px; border-radius: 6px; border: 1px solid var(--line); background: var(--field); color: var(--t1); padding: 0 8px; }

html.ops-navy.sh-rail #menu .sh-mhead { flex-direction: column; height: auto; padding: 8px 0; gap: 4px; }
html.ops-navy.sh-rail #menu .sh-mbrand { flex: none; justify-content: center; height: 36px; }
html.ops-navy.sh-rail #menu .sh-mname { display: none; }
html.ops-navy.sh-rail #menu #menu-back { order: 1; }
html.ops-navy.sh-rail #menu #menu-fold-2 { order: 2; }
html.ops-navy.sh-rail #menu #menu-foot { display: flex; flex-direction: column; align-items: center; padding: 12px 8px; }
html.ops-navy.sh-rail #menu #menu-foot .sh-foot-label, html.ops-navy.sh-rail #menu #menu-foot .sh-foot-text, html.ops-navy.sh-rail #menu #menu-foot .sh-foot-who > span { display: none; }
html.ops-navy.sh-rail #menu #menu-foot .sh-foot-row { justify-content: center; width: 40px; padding: 0; }
html.ops-navy.sh-rail #menu #menu-foot .sh-foot-id { min-height: 40px; }
html.ops-navy.sh-rail #menu #menu-foot .sh-foot-count { position: absolute; top: 0; right: -4px; min-width: 16px; height: 16px; padding: 0 3px; font: 700 11px/16px var(--dp5-font, Inter, system-ui, sans-serif); }
html.ops-navy.sh-rail #menu #menu-foot .sh-foot-who select { width: 40px; flex: none; padding: 0; }
html.ops-navy.sh-rail #menu #menu-foot .sh-foot-net { align-self: center; padding: 2px 4px; font-size: 10px; }

@media (min-width: 1440px) {
  html.ops-navy { --sh-top: 0px; }
  html.ops-navy #top { display: none; }
  html.ops-navy #menu { padding-top: 0; padding-bottom: 0; }
}

html.ops-navy #sw {
  position: fixed;
  left: calc(var(--sh-menu) + (100vw - var(--sh-menu)) / 2);
  bottom: 16px;
  z-index: 30;
  transform: translateX(-50%);
  display: none;
  height: 44px;
  background: var(--ops-bg-surface);
  border: 1px solid var(--edge);
  border-radius: 8px;
  box-shadow: var(--over);
}
html.ops-navy #sw.is-on { display: flex; }
html.ops-navy #sw button {
  margin: 0 2px;
  padding: 0 16px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: none;
  color: var(--t2);
  font: 600 15px/20px var(--dp5-font, Inter, system-ui, sans-serif);
  cursor: pointer;
}
html.ops-navy #sw button:hover { color: var(--t1); background: var(--ops-hover-wash); }
html.ops-navy #sw button[aria-current="true"] { color: var(--t1); border-bottom-color: var(--ops-nav-marker); }
html.ops-navy #sw button:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }

html.ops-navy #toast-root {
  position: fixed;
  left: 50%;
  bottom: 24px;
  z-index: 75;
  width: max-content;
  max-width: calc(100vw - 32px);
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  pointer-events: none;
}
html.ops-navy.sh-switch #toast-root { bottom: 72px; }
html.ops-navy #toast-root .toast {
  pointer-events: auto;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  margin: 0;
  padding: 6px 8px 6px 16px;
  background: var(--ops-bg-surface);
  border: 1px solid var(--edge);
  border-radius: 8px;
  box-shadow: var(--over);
  color: var(--t1);
  font: 400 15px/22px var(--dp5-font, Inter, system-ui, sans-serif);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
html.ops-navy #toast-root .toast-undo {
  height: 30px;
  min-height: 0;
  margin: 0;
  padding: 0 8px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--t1);
  font: 600 15px/22px var(--dp5-font, Inter, system-ui, sans-serif);
  text-decoration: underline;
  text-underline-offset: 2px;
}
html.ops-navy #toast-root .toast-undo:hover { background: var(--ops-hover-wash); color: var(--t1); }

html.ops-navy .os-foot, html.ops-navy .os-k { display: none; }
@media (min-width: 1440px) {
  html.ops-navy .os-back { padding-top: calc(var(--sh-top) + 8px); background: var(--ops-scrim); }
  html.ops-navy .os-panel { width: var(--sh-search-w); box-shadow: var(--over); }
}

html.ops-navy .sh-menu-scrim { display: none; }
html.ops-navy #bot { display: none; }
html.ops-navy .sh-top-title { display: none; }
@media (max-width: 1439px) {
  html.ops-navy { --sh-menu: 0px; --sh-top: 56px; }
  html.ops-navy #top {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding-right: 8px;
  }
  html.ops-navy .sh-top-r { grid-column: auto; }
  html.ops-navy #top .brand, html.ops-navy #top #q, html.ops-navy #top .who, html.ops-navy #top #bell-btn { display: none; }
  html.ops-navy #menu .sh-mtop, html.ops-navy #menu #menu-foot, html.ops-navy #menu #menu-add { display: none; }
  html.ops-navy #top .sh-top-l { gap: 0; }
  html.ops-navy #top .sh-top-r { gap: 4px; }
  html.ops-navy #top #sh-back { width: 24px; min-width: 24px; }
  html.ops-navy #top #search-btn { display: grid; }
  html.ops-navy #top .sh-top-title {
    display: block;
    min-width: 0;
    margin-left: 4px;
    white-space: normal;
    overflow-wrap: anywhere;
    font: 600 16px/20px var(--dp5-font, Inter, system-ui, sans-serif);
    color: var(--t1);
  }
  html.ops-navy #top #fab { display: inline-flex !important; padding: 0 12px; }
  html.ops-navy #top #fab[data-hidden] { display: none !important; }
  html.ops-navy #top #fab .fab-plus { display: none; }
  html.ops-navy #top #inbox-btn:not([hidden]) { display: grid; }
  html.ops-navy #menu {
    display: none;
    top: 0;
    bottom: 0;
    z-index: 44;
    width: min(300px, 88vw);
    padding: calc(8px + env(safe-area-inset-top, 0px)) 0 24px;
    border-right: 1px solid var(--ops-nav-line);
    box-shadow: var(--over);
  }
  html.ops-navy.sh-menu-open #menu { display: flex; }
  html.ops-navy.sh-menu-open .sh-menu-scrim { display: block; position: fixed; inset: 0; z-index: 43; background: var(--ops-scrim); }
  html.ops-navy #menu #tabs button, html.ops-navy #menu .ptn-p { min-height: 44px; }
  html.ops-navy #bot {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 30;
    box-sizing: border-box;
    display: flex;
    align-items: stretch;
    height: calc(56px + env(safe-area-inset-bottom, 0px));
    padding: 0 0 env(safe-area-inset-bottom, 0px);
    background: var(--ops-bg-tabbar);
    border-top: 1px solid var(--line);
  }
  html.ops-navy #bot button {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--t2);
    font: 600 12px/16px var(--dp5-font, Inter, system-ui, sans-serif);
    cursor: pointer;
  }
  html.ops-navy #bot button svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
  html.ops-navy #bot button:hover { color: var(--t1); }
  html.ops-navy #bot button[aria-current="true"] { color: var(--t1); box-shadow: inset 0 2px 0 var(--ops-nav-marker); }
  html.ops-navy #bot button:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }
  html.ops-navy #bot button[hidden] { display: none; }
  html.ops-navy body .shell { padding-top: 0 !important; }
  html.ops-navy:not(.sh-tb-on) #toolbar { display: none; }
  html.ops-navy #toolbar { padding: 0 16px; }
  html.ops-navy #toolbar .sh-tail { display: none; }
  html.ops-navy #toast-root { bottom: calc(72px + env(safe-area-inset-bottom, 0px)); }
  html.ops-navy #sw, html.ops-navy #sw.is-on { display: none; }
  html.ops-navy .sh-drawer {
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    max-height: 92vh;
    border-left: 0;
    border-top: 1px solid var(--ops-line-default);
    border-radius: 8px 8px 0 0;
  }
  html.ops-navy .sh-scrim { inset: 0; }
  html.ops-navy .sh-dialog { left: 0; right: 0; top: auto; bottom: 0; width: auto; max-width: none; max-height: 92vh; transform: none; border-radius: 8px 8px 0 0; }
  html.ops-navy .sh-hover { display: none; }
}
@media (prefers-reduced-motion: reduce) { html.ops-navy * { scroll-behavior: auto; } }

/* Desktop: the title row is as tall as the menu head and every panel head, so all titles share one centre line. */
@media (min-width: 1440px) {
  html.ops-navy #toolbar { height: 64px; min-height: 64px; }
  html.ops-navy body .shell.bd-shell #toolbar { height: auto; min-height: 64px; }
  html.ops-navy body #toolbar .bd-tab { height: 64px; }
}

/* Phone top bar: one line for the screen name; screens that print their own name in the band below do not repeat it. */
@media (max-width: 1439px) {
  html.ops-navy #top .sh-top-title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
  html.ops-navy body:is([data-view="inbox"], [data-view="links"], [data-view="friday"], [data-view="charts"]:has(#view > .m2-main), [data-view="projects"]:has(#view > :is(.pr-root, .pp, .pt-root)), [data-view="calendar"]:has(#view > .s2), [data-view="board"]) #top .sh-top-title { visibility: hidden; }
  html.ops-navy #toolbar .sh-tail-in { display: none !important; }
}

/* Phones: Home, Metrics and Projects draw the same in-page header under the top bar. */
@media (max-width: 767px) {
  html.ops-navy body :is(.m2-ph, .pr-ph, .h2-ph) { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 4px; align-items: start; min-height: 0; margin: 0 0 16px; }
  html.ops-navy body :is(.m2-pid, .h2-pid) { grid-column: 1; grid-row: 1; min-width: 0; }
  html.ops-navy body :is(.m2-pt, .pr-t, .h2-pt) { margin: 0; font-size: 24px; line-height: 30px; font-weight: 700; letter-spacing: -0.01em; color: var(--ops-text-primary); }
  html.ops-navy body :is(.m2-ps, .pr-s, .h2-ps) { min-height: 20px; margin-top: 4px; font-size: 14px; line-height: 20px; color: var(--ops-text-tertiary); }
}

/* A long message wraps on a phone, so its end is never cut off. */
@media (max-width: 767px) {
  html.ops-navy #toast-root .toast { max-width: calc(100vw - 24px); white-space: normal; }
  html.ops-navy #toast-root .toast > span { white-space: normal; overflow-wrap: anywhere; }
}

html.ops-navy .sh-theme {
  box-sizing: border-box;
  display: none;
  place-items: center;
  flex: none;
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--ops-line-strong);
  border-radius: 6px;
  background-color: var(--ops-bg-canvas);
  box-shadow: none;
  color: var(--ops-text-secondary);
  cursor: pointer;
}
html.ops-navy .sh-theme:hover { background-image: linear-gradient(var(--ops-hover-wash), var(--ops-hover-wash)); }
html.ops-navy .sh-theme:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px var(--ops-focus); }
html.ops-navy .sh-theme svg { width: 20px; height: 20px; display: block; flex: none; }
html.ops-navy #menu #menu-foot .sh-foot-theme { width: 40px; height: 40px; min-width: 40px; min-height: 40px; }
@media (min-width: 1440px) {
  html.ops-navy #menu #menu-foot .sh-foot-theme { display: grid; }
  html.ops-navy #menu #menu-foot .sh-foot-theme[hidden] { display: none; }
}
@media (min-width: 480px) and (max-width: 1439px) {
  html.ops-navy #top #theme-btn { display: grid; }
  html.ops-navy #top #theme-btn[hidden] { display: none; }
}
html.ops-navy .sh-theme-row { display: none; }
@media (max-width: 479px) {
  html.ops-navy #menu .sh-theme-row {
    order: 9;
    position: relative;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    flex: none;
    width: calc(100% - 16px);
    min-height: 44px;
    margin: 4px 8px 2px;
    padding: 0 12px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    box-shadow: none;
    color: var(--ops-nav-text);
    font: 400 15px/22px var(--dp5-font, Inter, system-ui, sans-serif);
    text-align: left;
    cursor: pointer;
  }
  html.ops-navy #menu .sh-theme-row[hidden] { display: none; }
  html.ops-navy #menu .sh-theme-row:hover { background: var(--ops-hover-wash); color: var(--ops-nav-text-active); }
  html.ops-navy #menu .sh-theme-row:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }
  html.ops-navy #menu .sh-theme-row .sh-theme-ic { display: grid; place-items: center; width: 20px; height: 20px; flex: none; }
  html.ops-navy #menu .sh-theme-row .sh-theme-ic svg { width: 20px; height: 20px; display: block; }
  html.ops-navy #menu .sh-theme-row .sh-theme-label { flex: 1; min-width: 0; font: inherit; color: inherit; overflow-wrap: anywhere; }
}

/* ---- Menu alignment: every row, the Add task button and the project list share one 12px edge, icons and dots
   share one 20px column, names start at 52px; the folded menu centres every button on its 56px rail. ---- */
html.ops-navy #menu .sh-mhead { padding-left: 19px; }
html.ops-navy #menu #tabs button,
html.ops-navy #menu .ptn-p { min-width: 0; width: calc(100% - 24px); margin: 0 12px 2px; padding-left: 8px; padding-right: 8px; }
html.ops-navy #menu #tabs button.active::before { left: -12px; }
html.ops-navy #menu .ptn-p { align-items: center; min-height: 36px; padding-top: 8px; padding-bottom: 8px; }
html.ops-navy #menu .ptn-p span { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; white-space: normal; overflow: hidden; overflow-wrap: anywhere; }
html.ops-navy #menu .ptn-dot { margin: 0 6px; }
html.ops-navy #menu #menu-foot > #menu-notes { grid-row: 1; }
html.ops-navy #menu #menu-foot > .sh-foot-id, html.ops-navy #menu #menu-foot > .sh-foot-theme { grid-row: 2; }
html.ops-navy.sh-rail #menu .sh-mhead { padding-left: 0; }
html.ops-navy.sh-rail #menu #tabs button { min-width: 0; width: 40px; margin: 0 8px 4px; padding: 0; }
html.ops-navy.sh-rail #menu #tabs button.active::before { left: -8px; }
html.ops-navy.sh-rail #menu #menu-foot > #menu-notes { order: -1; }


.rc-box { position: relative; overflow: hidden; height: 100%; min-height: 0; }
.rc-svg { display: block; }
.rc-ax { font-size: 11px; font-weight: 600; fill: var(--ops-text-tertiary); font-variant-numeric: tabular-nums; }
.rc-tip { position: absolute; width: 200px; background: var(--ops-bg-surface); border: 1px solid var(--ops-line-default); border-radius: 8px; padding: 8px 10px; box-shadow: 0 8px 24px var(--ops-shadow-over); pointer-events: none; z-index: 15; font-size: 12px; line-height: 16px; color: var(--ops-text-primary); font-variant-numeric: tabular-nums; }
.rc-tip-head { display: block; font-size: 12px; margin-bottom: 4px; }
.rc-tip > div { display: flex; justify-content: space-between; gap: 8px; }
.rc-t2 { color: var(--ops-text-secondary); }
.rc-grn { color: var(--ops-status-good); font-weight: 600; }
.rc-red { color: var(--ops-status-bad); font-weight: 600; }
.rc-amber { color: var(--ops-status-warn); font-weight: 600; }
.rc-cap { display: block; font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--ops-text-secondary); }
.rc-num { min-width: 0; font-variant-numeric: tabular-nums; }
.rc-big { font-size: 32px; line-height: 38px; font-weight: 700; margin-top: 4px; color: var(--ops-text-primary); }
.rc-num-big .rc-big { font-size: 40px; line-height: 46px; }
.rc-delta { font-size: 14px; line-height: 20px; font-weight: 600; margin-top: 2px; }
.rc-sub { display: grid; gap: 3px; margin-top: 8px; font-size: 12px; line-height: 16px; color: var(--ops-text-secondary); }
.rc-figs { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px 20px; align-content: center; font-variant-numeric: tabular-nums; }
.rc-figs > div { min-width: 0; }
.rc-goal { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line, var(--ops-line-default)); }
.rc-goal-n { font-size: 14px; line-height: 24px; font-weight: 600; color: var(--ops-text-primary); }
.rc-goal-n b { font-size: 20px; font-weight: 700; }
.rc-goal-s { font-size: 12px; line-height: 16px; color: var(--ops-text-secondary); }
.rc-figs .rc-cap { font-size: 11px; line-height: 14px; }
.rc-n { font-size: 20px; line-height: 26px; font-weight: 600; margin-top: 2px; color: var(--ops-text-primary); }
.rc-nw { white-space: nowrap; }
.rc-c { font-size: 12px; line-height: 16px; color: var(--ops-text-secondary); }
.rc-legend, .rc-legendrow { display: flex; align-items: center; gap: 14px; height: 20px; white-space: nowrap; font-size: 11px; line-height: 14px; font-weight: 600; color: var(--ops-text-secondary); }
.rc-legendrow { height: auto; justify-content: space-between; flex-wrap: wrap; row-gap: 6px; margin-bottom: 6px; }
.rc-legendrow .rc-legend { flex: 1; min-width: 0; }
.rc-lg { display: inline-flex; align-items: center; gap: 6px; }
.rc-lg i { width: 16px; height: 0; border-top: 2px solid var(--ops-series-revenue); }
.rc-lg i.g { border-top: 2px dashed var(--ops-status-warn); }
.rc-sp { flex: 1; }
.rc-link { background: none; border: 0; padding: 0; font: inherit; font-weight: 600; color: var(--ops-text-secondary); cursor: pointer; text-decoration: none; }
.rc-link:hover { color: var(--ops-text-primary); text-decoration: underline; }
.rc-link:focus-visible, .rc-seg:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px var(--ops-focus); }
.rc-card { display: grid; grid-template-columns: 300px 340px minmax(0, 1fr); gap: 14px 24px; align-items: start; }
.rc-chartcol { min-width: 0; display: flex; flex-direction: column; }
.rc-card-chart { height: 200px; flex: none; }
.rc-switch { display: inline-flex; gap: 14px; flex: none; }
.rc-seg { background: none; border: 0; padding: 0 0 2px; font: inherit; font-size: 12px; font-weight: 600; color: var(--ops-text-tertiary); cursor: pointer; border-bottom: 2px solid transparent; }
.rc-seg.on { color: var(--ops-text-primary); border-bottom-color: var(--ops-text-primary); }
@media (max-width: 1100px) {
  .rc-card { grid-template-columns: 1fr 1fr; }
  .rc-chartcol { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .rc-card { grid-template-columns: 1fr; }
  .rc-legend { flex-wrap: wrap; height: auto; white-space: normal; row-gap: 6px; column-gap: 14px; }
  .rc-legendrow .rc-legend { flex-basis: 100%; }
}

html.ops-navy .sh-dialog.tc-dialog { overflow: hidden; position: fixed; background: var(--ops-bg-panel); }
html.ops-navy .tc { position: relative; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; min-height: 0; max-height: inherit; flex: 1 1 auto; overflow: hidden; }
html.ops-navy .tc-cover { width: 100%; height: 56px; flex: none; background: var(--raised); }


html.ops-navy .tc-f { min-width: 0; }
html.ops-navy .tc-mute { color: var(--t2); font-size: 13px; }
html.ops-navy .tc-pad { padding: 8px; }

html.ops-navy .tc-chip {
  display: inline-flex; align-items: center; min-height: 20px; padding: 0 8px; border-radius: 4px; box-sizing: border-box;
  font-size: 12px; line-height: 16px; font-weight: 600; background: var(--tc-c, var(--line)); color: var(--ops-text-on-category); max-width: 100%; overflow-wrap: anywhere;
}
html.ops-navy .tc-mn { margin-right: 4px; }
html.ops-navy .tc-av {
  width: 24px; height: 24px; border-radius: 50%; display: inline-grid; place-items: center; flex: none;
  font-size: 11px; font-weight: 600; color: var(--ops-text-primary); background: var(--frame); box-shadow: inset 0 0 0 2px var(--rc, var(--t3));
}
html.ops-navy .tc-Jon { --rc: var(--jon); }
html.ops-navy .tc-Kendra { --rc: var(--kendra); }
html.ops-navy .tc-Staff { --rc: var(--staff); }

html.ops-navy .tc-ph { color: var(--t2); }
html.ops-navy .tc-dw { font-size: 12px; font-weight: 600; color: var(--t2); }
html.ops-navy .tc-dw.is-late { color: var(--danger); }
html.ops-navy .tc-dw.is-ok { color: var(--ok); }


html.ops-navy .tc-bar { height: 8px; border-radius: 3px; background: var(--raised); overflow: hidden; margin: 4px 0 8px; }
html.ops-navy .tc-bar i { display: block; height: 100%; background: var(--green); }
html.ops-navy .tc-cl { list-style: none; margin: 0 0 6px; padding: 0; }
html.ops-navy .tc-cli { display: flex; align-items: flex-start; gap: 6px; padding: 2px 0; }
html.ops-navy .tc-cli:hover { background: var(--hover); border-radius: 4px; }
html.ops-navy .tc-box {
  width: 24px; height: 24px; flex: none; display: grid; place-items: center; border: 0; background: transparent; padding: 0; cursor: pointer; color: var(--ops-text-on-status);
}
html.ops-navy .tc-box svg { width: 14px; height: 14px; opacity: 0; }
html.ops-navy .tc-box { position: relative; }
html.ops-navy .tc-box::after {
  content: ""; position: absolute; left: 3px; top: 3px; width: 18px; height: 18px; box-sizing: border-box; border: 1.5px solid var(--ops-text-tertiary); border-radius: 4px; z-index: 0;
}
html.ops-navy .tc-box svg { position: relative; z-index: 1; }
html.ops-navy .tc-box:hover::after { border-color: var(--ops-text-primary); }
html.ops-navy .tc-cli.is-done .tc-box::after { background: var(--green); border-color: var(--green); }
html.ops-navy .tc-cli.is-done .tc-box svg { opacity: 1; }
html.ops-navy .tc-box:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }
html.ops-navy .tc-ct {
  flex: 1; min-width: 0; text-align: left; border: 0; background: transparent; color: var(--t1); font: inherit; font-size: 14px; line-height: 20px;
  padding: 2px 0; cursor: text; overflow-wrap: anywhere;
}
html.ops-navy .tc-cli.is-done .tc-ct { text-decoration: line-through; color: var(--t2); }
html.ops-navy .tc-ci { flex: 1; min-width: 0; height: 28px; }
html.ops-navy .tc-x {
  width: 24px; height: 24px; flex: none; display: grid; place-items: center; border: 0; border-radius: 4px; background: transparent; color: var(--t3); cursor: pointer; opacity: 0;
}
html.ops-navy .tc-cli:hover .tc-x, html.ops-navy .tc-x:focus-visible { opacity: 1; }
html.ops-navy .tc-x:hover { color: var(--t1); background: var(--hover); }
html.ops-navy .tc-cslot { display: contents; }
html.ops-navy .tc-dotc { width: 14px; height: 14px; border-radius: 4px; flex: none; background: var(--c-none, var(--ops-category-grey)); }
html.ops-navy .tc-sws { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 4px 8px 8px; }
html.ops-navy .tc-sw { height: 32px; border: 0; border-radius: 6px; display: grid; place-items: center; color: var(--ops-text-on-category); cursor: pointer; }
html.ops-navy .tc-sw:hover { filter: brightness(1.12); }
html.ops-navy .tc-sw:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }
html.ops-navy .tc-addf { margin-top: 4px; }
html.ops-navy .tc-addf .tc-in, html.ops-navy .tc-cf .tc-in { width: 100%; }

html.ops-navy .tc-cf { margin-bottom: 4px; }
html.ops-navy .tc-cmt { display: flex; gap: 8px; margin-top: 8px; }
html.ops-navy .tc-bub { flex: 1; min-width: 0; padding: 8px 10px; border-radius: 8px; background: var(--raised); font-size: 13px; line-height: 18px; overflow-wrap: anywhere; }
html.ops-navy .tc-bub small { display: block; margin-bottom: 2px; font-size: 12px; font-weight: 600; color: var(--t2); }
html.ops-navy .tc-actl { padding: 6px 0; font-size: 13px; line-height: 18px; color: var(--t2); }

html.ops-navy .tc-fls { list-style: none; margin: 0 0 4px; padding: 0; }
html.ops-navy .tc-fr { display: flex; align-items: center; gap: 6px; padding: 4px 0; }
html.ops-navy .tc-fr:hover { background: var(--hover); border-radius: 4px; }
html.ops-navy .tc-fo { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 10px; padding: 0; border: 0; border-radius: 4px; background: transparent; color: var(--t1); font: inherit; text-align: left; cursor: pointer; }
html.ops-navy .tc-fo:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px var(--t1); }
html.ops-navy .tc-th { width: 56px; height: 40px; flex: none; display: grid; place-items: center; border-radius: 4px; background: var(--raised); color: var(--t2); overflow: hidden; }
html.ops-navy .tc-th img { display: block; width: 100%; height: 100%; object-fit: cover; }
html.ops-navy .tc-fn { min-width: 0; display: flex; flex-direction: column; }
html.ops-navy .tc-ft { font-size: 14px; line-height: 20px; overflow-wrap: anywhere; }
html.ops-navy .tc-fn small { font-size: 12px; line-height: 16px; color: var(--t2); }
html.ops-navy .tc-fr .tc-x { width: 36px; height: 36px; }
html.ops-navy .tc-fr:hover .tc-x { opacity: 1; }
html.ops-navy .tc-fa { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 6px; }
html.ops-navy .tc-act.tc-fill { padding: 0 14px; border-radius: 6px; background: var(--raised); color: var(--t1); font-weight: 600; box-shadow: inset 0 0 0 1px var(--line); }
html.ops-navy .tc-act.tc-fill:hover:not([disabled]) { background: var(--cardh); }
html.ops-navy .tc-act.tc-fill[disabled] { opacity: .5; cursor: default; }
html.ops-navy .tc-actl small { display: block; font-size: 12px; line-height: 16px; color: var(--t3); }
html.ops-navy .tc-act[disabled] { color: var(--t3); cursor: default; }
html.ops-navy .tc-act[disabled]:hover { color: var(--t3); }
html.ops-navy .tc-pi.tc-edl { margin-top: 4px; border-top: 1px solid var(--line); border-radius: 0 0 4px 4px; color: var(--t2); }

html.ops-navy .tc-pop { padding: 6px; }
html.ops-navy .tc-pop-h { padding: 4px 8px 6px; font-size: 12px; font-weight: 600; color: var(--t2); }
html.ops-navy .tc-pi {
  display: flex; align-items: center; gap: 8px; width: 100%; min-height: 36px; padding: 4px 8px; border: 0; border-radius: 4px;
  background: transparent; color: var(--t1); font: inherit; font-size: 14px; text-align: left; cursor: pointer;
}
html.ops-navy .tc-pi:hover { background: var(--hover); }
html.ops-navy .tc-pi .tc-chip { flex: 1; }
html.ops-navy .tc-pk { margin-left: auto; width: 16px; display: grid; place-items: center; }
html.ops-navy .tc-tl { max-height: 288px; overflow-y: auto; overscroll-behavior: contain; }
html.ops-navy .tc-pi[disabled] { color: var(--t2); cursor: default; }
html.ops-navy .tc-pi[disabled]:hover { background: transparent; }
html.ops-navy .tc-pw { display: flex; flex-direction: column; }
html.ops-navy .tc-pw small { font-size: 12px; line-height: 16px; color: var(--t2); }

@media (min-width: 768px) {
  html.ops-navy .sh-dialog.tc-dialog.tc-grow { top: max(40px, calc(50vh - 260px)); transform: translateX(-50%); max-height: calc(100vh - max(40px, calc(50vh - 260px)) - 40px); }
}


/* ---- deadline kind, importance, project, label manager, drop ---- */
html.ops-navy .tc-chip { color: var(--ops-text-on-category, var(--ink)); border-radius: 4px; }
html.ops-navy .tc-lnk { border: 0; background: transparent; padding: 4px 0; color: var(--ops-text-secondary, var(--t2)); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
html.ops-navy .tc-lnk:hover { color: var(--ops-text-primary, var(--t1)); }
html.ops-navy .tc-lnk:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px var(--ops-focus, var(--t1)); }
html.ops-navy .tc-lnk[disabled] { color: var(--ops-text-tertiary, var(--t3)); cursor: default; }
html.ops-navy .tc-lrs { display: flex; flex-direction: column; gap: 2px; padding: 0 8px; max-height: 220px; overflow-y: auto; }
html.ops-navy .tc-lr { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 32px; }
html.ops-navy .tc-ln { padding: 0 8px 4px; }
html.ops-navy .tc-ln .tc-in { width: 100%; }
html.ops-navy .tc-lf { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 4px 8px 2px; }
html.ops-navy .tc-notes { margin-bottom: 4px; }
html.ops-navy .sh-dialog.tc-dialog.is-drop { box-shadow: inset 0 0 0 1.5px var(--ops-focus, var(--t1)); }

/* ---- the task panel: header, scrolling body, pinned footer; every field has its label on top ---- */
html.ops-navy .sh-dialog .tc { --tc-h: 36px; --tc-gut: 20px; font-size: 14px; line-height: 20px; font-weight: 400; color: var(--ops-text-primary); }
html.ops-navy .tc-head { flex: none; }
html.ops-navy .tc-head .tc-close { color: var(--ops-text-secondary); }
html.ops-navy .tc-head .tc-close:hover { background: var(--ops-hover-wash); color: var(--ops-text-primary); }
html.ops-navy .tc-title {
  display: block; width: 100%; box-sizing: border-box; resize: none; overflow: hidden; min-height: 26px;
  margin: 0; padding: 0; border: 0; border-radius: 4px; background: transparent; color: var(--ops-text-primary);
  font-family: inherit; font-size: 20px; line-height: 26px; font-weight: 600; overflow-wrap: anywhere; white-space: pre-wrap;
}
html.ops-navy .sh-dialog .tc .tc-title:hover { background: var(--ops-hover-wash); }
html.ops-navy .sh-dialog .tc .tc-title:focus { outline: none; background: var(--ops-bg-field); box-shadow: inset 0 0 0 1.5px var(--ops-focus); }
html.ops-navy .tc-in-line { margin: 2px 0 0; font-size: 13px; line-height: 18px; color: var(--ops-text-tertiary); overflow-wrap: anywhere; }
html.ops-navy .tc-sub { display: flex; align-items: center; gap: 12px; margin: 2px 0 0; }
html.ops-navy .tc-sub .tc-in-line { flex: 1 1 auto; margin: 0; }

html.ops-navy .tc-body { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; overflow-x: hidden; overflow-y: auto; min-height: 0; flex: 1 1 auto; scrollbar-width: thin; scrollbar-color: var(--ops-line-strong) transparent; }
html.ops-navy .tc-main { min-width: 0; padding: 0 var(--tc-gut) 12px; }
html.ops-navy .tc-adds { display: flex; flex-wrap: wrap; gap: 0 16px; padding: 0 0 8px; }
html.ops-navy .tc-foot { flex: none; padding: 12px var(--tc-gut); border-top: 1px solid var(--ops-line-default); background: var(--ops-bg-panel); }
html.ops-navy .tc-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }

html.ops-navy .tc-sec { padding: 14px 0 2px; border-top: 1px solid var(--ops-line-default); }
html.ops-navy .tc-sec:first-child { border-top: 0; }
html.ops-navy .tc-sech { margin: 0 0 8px; font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--ops-text-tertiary); }
html.ops-navy .tc-h { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: 14px; line-height: 20px; font-weight: 600; }
html.ops-navy .tc-grid { display: block; }
html.ops-navy .tc-f { min-width: 0; margin-bottom: 12px; }
html.ops-navy .tc-fl { display: block; margin-bottom: 4px; font-size: 12px; line-height: 16px; font-weight: 600; color: var(--ops-text-secondary); }
html.ops-navy .tc-fv { position: relative; display: flex; align-items: center; gap: 8px; min-width: 0; }
html.ops-navy .tc-pair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 12px; }
html.ops-navy .tc-gap { min-height: calc(var(--tc-h) + 20px); }
html.ops-navy .tc-grid > .tc-f + .tc-f { padding-top: 12px; border-top: 1px solid var(--ops-line-default); }
html.ops-navy .tc-grid { padding-top: 14px; }
html.ops-navy .tc-remc { margin-top: 8px; }
html.ops-navy .tc-remc .tc-f { margin-bottom: 0; }
html.ops-navy .tc-hint { display: flex; flex-wrap: wrap; gap: 0 8px; margin-top: 4px; min-height: 16px; font-size: 12px; line-height: 16px; color: var(--ops-text-tertiary); }
html.ops-navy .tc-cf { display: flex; align-items: center; gap: 12px; }
html.ops-navy .tc-ph { color: var(--ops-text-placeholder); }

html.ops-navy .tc :is(.tc-date, .tc-num, .tc-in, .tc-pick, .tc-fld, .tc-seg) {
  box-sizing: border-box; border: 1px solid var(--ops-line-strong); border-radius: 6px; background-color: var(--ops-bg-field);
  color: var(--ops-text-primary); font: inherit; font-size: 14px; font-weight: 400; color-scheme: var(--ops-color-scheme);
}
html.ops-navy .tc :is(.tc-date, .tc-num, .tc-in, .tc-pick) { width: 100%; min-width: 0; height: var(--tc-h); padding: 0 10px; box-shadow: none; }
html.ops-navy .tc :is(.tc-date, .tc-num, .tc-in, .tc-pick, .tc-fld, .tc-seg):hover { border-color: var(--ops-line-strong-hover); }
html.ops-navy .tc :is(.tc-date, .tc-num, .tc-in, .tc-pick):focus, html.ops-navy .tc :is(.tc-date, .tc-num, .tc-in, .tc-pick):focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px var(--ops-focus); }
html.ops-navy .tc .tc-desc { height: auto; min-height: 72px; padding: 8px 10px; resize: vertical; line-height: 20px; }
html.ops-navy .tc .tc-sel { padding-right: 10px; white-space: nowrap; }
html.ops-navy .tc-num { padding-right: 44px; -moz-appearance: textfield; appearance: textfield; }
html.ops-navy .tc-num::-webkit-inner-spin-button, html.ops-navy .tc-num::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
html.ops-navy .tc-unit { position: absolute; right: 12px; top: 0; line-height: var(--tc-h); color: var(--ops-text-tertiary); pointer-events: none; }
html.ops-navy .tc-pick { display: flex; align-items: center; justify-content: space-between; gap: 8px; text-align: left; white-space: nowrap; cursor: pointer; }
html.ops-navy .tc-pick svg { color: var(--ops-text-secondary); flex: none; }
html.ops-navy .tc-unplan { position: absolute; right: 34px; top: 50%; width: 28px; height: 28px; margin-top: -14px; display: grid; place-items: center; border: 0; border-radius: 4px; background: transparent; color: var(--ops-text-secondary); cursor: pointer; }
html.ops-navy .tc-unplan:hover { color: var(--ops-text-primary); background: var(--ops-hover-wash); }
html.ops-navy .tc-unplan:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px var(--ops-focus); }

html.ops-navy .tc-fld { display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; min-height: var(--tc-h); padding: 4px 10px; }
html.ops-navy .tc-mem, html.ops-navy .tc-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; flex: 1 1 auto; }
html.ops-navy .tc-chips .tc-chip { flex: none; white-space: nowrap; }
html.ops-navy .tc-fld .tc-av { width: 22px; height: 22px; }
html.ops-navy .tc-mn { margin-right: 4px; }
html.ops-navy .tc-add { flex: none; align-self: stretch; margin: -4px -10px -4px auto; padding: 0 10px 0 6px; border: 0; border-radius: 4px; background: transparent; color: var(--ops-accent-link); font: inherit; font-size: 14px; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; white-space: nowrap; }
html.ops-navy .tc-add:hover { color: var(--ops-text-primary); }
html.ops-navy .tc-add:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px var(--ops-focus); }

html.ops-navy .tc-seg { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 2px; width: 100%; height: var(--tc-h); padding: 2px; }
html.ops-navy .tc-segb { min-width: 0; padding: 0 4px; border: 0; border-radius: 4px; background: transparent; color: var(--ops-text-secondary); font: inherit; font-size: 14px; font-weight: 400; white-space: nowrap; cursor: pointer; }
html.ops-navy .tc-segb:hover { color: var(--ops-text-primary); background: var(--ops-hover-wash); }
html.ops-navy .tc-segb[aria-pressed="true"] { color: var(--ops-selected-text); background: var(--ops-selected-bg); font-weight: 600; }
html.ops-navy .tc-segb[aria-pressed="true"]:hover { color: var(--ops-selected-text); background: var(--ops-selected-bg); }
html.ops-navy .tc-segb:focus-visible, html.ops-navy .tc-segb[aria-pressed="true"]:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px var(--ops-focus); }

html.ops-navy .tc-notes .ne-box { border-radius: 6px; border-color: var(--ops-line-strong); overflow: hidden; }
html.ops-navy .tc-notes .ne-box:hover { border-color: var(--ops-line-strong-hover); }
html.ops-navy .tc-notes .ne-edit { font: 400 14px/20px var(--dp5-font, Inter, system-ui, sans-serif); min-height: 72px; max-height: 224px; padding: 8px 12px; scrollbar-width: thin; scrollbar-color: var(--ops-line-strong) transparent; }
html.ops-navy .tc-notes .ne-edit.ne-empty::before { left: 12px; top: 8px; }
html.ops-navy .tc-notes .ne-tb { padding: 3px 6px; }
html.ops-navy .tc-notes .ne-b { width: 32px; height: 30px; color: var(--ops-text-tertiary); }
html.ops-navy .tc-notes .ne-b:hover { color: var(--ops-text-primary); background: var(--ops-hover-wash); }
html.ops-navy .tc-notes { margin-bottom: 12px; }
html.ops-navy .tc-desc { margin-bottom: 12px; }

html.ops-navy .tc-addf { margin-bottom: 12px; }
html.ops-navy .tc-cl { margin-bottom: 8px; }
html.ops-navy .tc-cf { margin-bottom: 4px; }
html.ops-navy .tc-fa { margin-bottom: 8px; }
html.ops-navy .tc-fv .tc-lnk { flex: none; min-height: var(--tc-h); padding: 0; color: var(--ops-accent-link); font-weight: 400; text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }
html.ops-navy .tc-fv .tc-lnk:hover { color: var(--ops-text-primary); }
html.ops-navy .tc-attach { display: inline-flex; align-items: center; gap: 8px; min-height: var(--tc-h); padding: 0; color: var(--ops-accent-link); font-weight: 400; text-decoration: underline; text-underline-offset: 2px; }
html.ops-navy .tc-attach:hover { color: var(--ops-text-primary); }
html.ops-navy .tc-attach svg { flex: none; }

html.ops-navy .tc-act { border: 0; background: transparent; padding: 0; color: var(--ops-text-secondary); font: inherit; font-size: 14px; font-weight: 400; cursor: pointer; text-decoration: none; }
html.ops-navy .tc-act:hover { color: var(--ops-text-primary); }
html.ops-navy .tc-act:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px var(--ops-focus); }
html.ops-navy .tc-sub .tc-act { flex: none; display: inline-flex; align-items: center; gap: 6px; min-height: 28px; font-size: 13px; }
html.ops-navy .tc-foot .tc-act { height: 40px; border-radius: 6px; }
html.ops-navy .tc-foot .tc-act.tc-primary { flex: 1 1 100%; padding: 0 20px; background: var(--ops-accent-primary); color: var(--ops-accent-on-primary); font-weight: 600; }
html.ops-navy .tc-foot .tc-act.tc-primary:hover { background: var(--ops-accent-primary-hover); color: var(--ops-accent-on-primary); }
html.ops-navy .tc-foot .tc-act.tc-primary:active { background: var(--ops-accent-primary-press); }
html.ops-navy .tc-foot .tc-act.tc-quiet { display: inline-flex; align-items: center; gap: 6px; height: auto; min-height: 28px; margin-right: 8px; padding: 0; color: var(--ops-text-secondary); text-decoration: underline; text-underline-offset: 2px; }
html.ops-navy .tc-foot .tc-act.tc-quiet:hover { color: var(--ops-text-primary); }

:root[data-ops-theme="light"] .tc :is(.tc-date, .tc-num, .tc-in, .tc-pick, .tc-fld, .tc-seg), :root[data-ops-theme="light"] .tc-notes :is(.ne-box, .ne-tb) { background-color: var(--ops-bg-surface); }

@media (max-width: 767px) {
  html.ops-navy .sh-dialog .tc { --tc-h: 44px; --tc-gut: 16px; }
  html.ops-navy .tc-body { grid-template-columns: minmax(0, 1fr); }
  html.ops-navy .tc-adds .tc-lnk, html.ops-navy .tc-cf .tc-lnk { min-height: 44px; }
  html.ops-navy .tc-foot .tc-act.tc-quiet { min-height: 44px; }
  html.ops-navy .tc-foot { padding: 10px var(--tc-gut) calc(10px + env(safe-area-inset-bottom, 0px)); }
  html.ops-navy .tc-foot .tc-act { height: 44px; }
  html.ops-navy .tc-sub .tc-act { min-height: 44px; }
  html.ops-navy .tc-fl { font-size: 13px; }
  html.ops-navy .tc-unplan { width: 36px; height: 36px; margin-top: -18px; right: 38px; }
  html.ops-navy .tc-notes .ne-b { width: 44px; height: 44px; }
  html.ops-navy .tc-box { width: 44px; height: 44px; }
  html.ops-navy .tc-box::after { left: 13px; top: 13px; }
  html.ops-navy .tc-ct { padding: 12px 0; }
  html.ops-navy .tc-ci { height: var(--tc-h); }
  html.ops-navy .tc-x, html.ops-navy .tc-fr .tc-x { width: 44px; height: 44px; opacity: 1; }
}

/* From 1440 up the dialog docks in the right panel: one column. Narrower screens keep the centred dialog and the phone sheet. */
@media (min-width: 1440px) {
  html.ops-navy .sh-dialog.tc-dialog, html.ops-navy .sh-dialog.tc-dialog.tc-grow {
    position: fixed; top: var(--sh-top); right: 0; bottom: 0; left: auto; width: var(--pv-side-w); max-width: none; max-height: none;
    transform: none; border: 0; border-radius: 0; box-shadow: inset 1px 0 0 var(--ops-line-default); background: var(--ops-bg-panel);
  }
  html.ops-navy:has(.sh-dialog.tc-dialog) .sh-scrim.sh-dl { background: linear-gradient(to right, var(--ops-veil-far), var(--ops-veil-near)); animation: ops-veil-in 220ms ease-out; }
  html.ops-navy .tc-dialog .tc-cover { position: absolute; top: 0; left: 0; right: 0; height: 4px; z-index: 1; }
  html.ops-navy .tc-dialog .tc-body { grid-template-columns: minmax(0, 1fr); }
}

.h2 { box-sizing: border-box; min-height: 100%; padding: var(--sh-pad, 24px) var(--sh-pad, 24px) 64px; display: flex; flex-direction: column; gap: 16px; color: var(--ops-text-primary); font: 400 14px/20px var(--dp5-font, Inter, system-ui, sans-serif); font-variant-numeric: tabular-nums; }
.h2 *, .h2 *::before, .h2 *::after { box-sizing: border-box; }
.h2 button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; text-align: left; }
.h2 :focus-visible, #toolbar .h2-tbid :focus-visible, #toolbar .h2-sf:focus-visible, .sh-pop .h2-pk :focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px var(--ops-focus); }

.h2-sublnk { padding: 0; border: 0; background: none; font: inherit; font-weight: 600; color: var(--ops-text-secondary); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.h2-sublnk:hover { color: var(--ops-text-primary); }
#toolbar .h2-sp { flex: 1; }
#toolbar .h2-sf { flex: none; width: 320px; height: 36px; padding: 0 12px 0 36px; border: 1px solid var(--ops-line-strong); border-radius: 6px; background: var(--ops-bg-field) var(--ops-icon-search) no-repeat 12px center / 16px 16px; color: var(--ops-text-primary); font: 400 14px/20px var(--dp5-font, Inter, system-ui, sans-serif); }
#toolbar .h2-sf::placeholder { color: var(--ops-text-placeholder); }

.h2-hubs:empty, .h2-ph:empty { display: none; }
.h2-hub { margin: 0 0 4px; color: var(--ops-text-secondary); font-size: 14px; }
.h2 .h2-lnk { color: var(--ops-text-secondary); text-decoration: underline; text-underline-offset: 2px; font-weight: 600; }
.h2 .h2-lnk:hover { color: var(--ops-text-primary); }

.h2-card { min-width: 0; background: var(--ops-bg-surface); border: 1px solid var(--ops-line-default); border-radius: 8px; box-shadow: var(--ops-shadow-card); overflow: hidden; }
.h2 .h2-act { display: inline-block; padding: 0; color: var(--ops-text-secondary); font-size: 14px; line-height: 20px; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }
.h2 .h2-act:hover { color: var(--ops-text-primary); }
.h2-meta { color: var(--ops-text-tertiary); }
.h2 .h2-good { color: var(--ops-status-good); }
.h2 .h2-bad { color: var(--ops-status-bad); }
.h2-u { white-space: nowrap; }

.h2-money { flex: none; display: flex; align-items: center; gap: 24px; min-height: 72px; padding: 12px 20px; }
.h2-mt { flex: 1; min-width: 0; display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 10px; row-gap: 2px; }
.h2-ml { width: 100%; font-size: 13px; line-height: 18px; font-weight: 500; color: var(--ops-text-tertiary); }
.h2-asof { color: var(--ops-text-secondary); }
.h2-big { font-size: 26px; line-height: 32px; font-weight: 700; letter-spacing: -0.01em; color: var(--ops-text-primary); }
.h2-ms { font-size: 14px; line-height: 20px; color: var(--ops-text-secondary); }
.h2-sep { color: var(--ops-text-tertiary); }
.h2-money .h2-strip { flex: none; width: 340px; }
.h2-strip { display: flex; gap: 2px; height: 40px; }
.h2-strip span { flex: 1 1 0; min-width: 0; display: flex; align-items: flex-end; box-shadow: inset 0 -2px 0 var(--ops-bg-sunken); }
.h2-strip i { display: block; width: 100%; border-radius: 2px 2px 0 0; background: var(--ops-series-revenue); }
.h2-strip i.now { background: none; box-shadow: inset 0 0 0 1.5px var(--ops-text-primary); }
.h2-strip.h2-sk { background: var(--ops-bg-sunken); border-radius: 2px; }
.h2-track { display: block; height: 6px; border-radius: 2px; background: var(--ops-bg-sunken); overflow: hidden; }
.h2-track > i { display: block; height: 100%; border-radius: 2px; background: var(--c, var(--ops-status-good)); }

.h2-cols { display: grid; grid-template-columns: minmax(0, 1fr) clamp(420px, 34vw, 640px); gap: 16px; align-items: start; }
.h2-col { display: flex; flex-direction: column; gap: 16px; min-width: 0; }

.h2-eye { font-size: 11px; line-height: 16px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ops-text-tertiary); }
.h2-wk1 { padding: 16px 20px; min-height: 80px; }
.h2-wk1-r { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.h2-wk1-t { margin-top: 4px; font-size: 22px; line-height: 30px; font-weight: 700; letter-spacing: -0.01em; overflow-wrap: break-word; }
.h2-wk1-e { margin-top: 4px; font-size: 16px; line-height: 24px; color: var(--ops-text-tertiary); }
.h2 .h2-wk1-e .h2-act { font-size: 16px; line-height: 24px; }
.h2-one { display: flex; align-items: center; gap: 16px; min-height: 96px; padding: 16px 20px; }
.h2-one-t { flex: 1; min-width: 0; }
.h2-one-n { margin-top: 4px; font-size: 18px; line-height: 24px; font-weight: 600; overflow-wrap: break-word; }
.h2-one-m { margin-top: 2px; font-size: 13px; line-height: 18px; color: var(--ops-text-secondary); overflow-wrap: break-word; }
.h2-one-a { flex: none; align-self: stretch; display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; gap: 12px; }
.h2 .h2-start { flex: none; }

.h2-badge { display: inline-block; min-width: 22px; height: 20px; padding: 0 6px; border-radius: 4px; background: var(--ops-bg-sunken); color: var(--ops-text-secondary); font-size: 12px; line-height: 20px; font-weight: 700; text-align: center; }
.h2-badge-bad { background: var(--ops-badge-bg); color: var(--ops-badge-text); }
.h2 .h2-od { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 56px; padding: 0 16px 0 20px; font-size: 15px; line-height: 22px; font-weight: 600; }
.h2 button.h2-od { cursor: pointer; }
@media (hover: hover) { .h2 button.h2-od:hover { background: var(--ops-bg-surface-hover); } }
.h2-od-o { font-size: 14px; font-weight: 400; color: var(--ops-text-secondary); }
.h2-od0 .h2-od-o { color: var(--ops-text-secondary); }
.h2-od svg { margin-left: auto; color: var(--ops-text-tertiary); }
.h2-od .h2-badge { margin-left: 4px; }
.h2-skbar { display: block; width: 160px; height: 14px; border-radius: 2px; }

.h2-ch { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 48px; padding: 0 16px; }
.h2-ct { margin: 0; font-size: 15px; line-height: 22px; font-weight: 600; color: var(--ops-text-primary); }
.h2-ct small { margin-left: 6px; font-size: 14px; font-weight: 500; color: var(--ops-text-tertiary); }
.h2-empty { margin: 0; padding: 14px 16px; border-top: 1px solid var(--ops-line-default); color: var(--ops-text-secondary); font-size: 14px; }
.h2-sk { background: var(--ops-bg-sunken); }
.h2-skrow { height: 56px; border-top: 1px solid var(--ops-line-row); }

.h2-row { display: grid; grid-template-columns: 20px minmax(0, 1fr) 148px 56px 52px; grid-template-areas: "tk nm cat mn ow" "tk pj cat mn ow"; column-gap: 12px; align-items: center; align-content: center; min-height: 56px; padding: 8px 16px; border-top: 1px solid var(--ops-line-row); }
.h2-row.np { grid-template-areas: "tk nm cat mn ow"; }
@media (hover: hover) { .h2-row:hover { background: var(--ops-bg-surface-hover); } }
.h2 .h2-tick { grid-area: tk; position: relative; width: 20px; height: 20px; display: grid; place-items: center; border: 1.5px solid var(--ops-line-strong); border-radius: 4px; color: var(--ops-text-on-status); }
.h2 .h2-tick::after { content: ""; position: absolute; inset: -12px; }
.h2 .h2-tick:hover { border-color: var(--ops-text-primary); }
.h2 .h2-tick svg { display: none; }
.h2 .h2-tick.on { background: var(--ops-status-good); border-color: var(--ops-status-good); }
.h2 .h2-tick.on svg { display: block; }
.h2 .h2-nm { grid-area: nm; font-size: 14px; line-height: 20px; font-weight: 500; overflow-wrap: break-word; }
.h2-row.done .h2-nm { color: var(--ops-text-secondary); text-decoration: line-through; }
.h2-pj { grid-area: pj; font-size: 13px; line-height: 18px; overflow-wrap: break-word; }
.h2-row > .h2-cat { grid-area: cat; }
.h2-cat { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; line-height: 18px; color: var(--ops-text-secondary); white-space: nowrap; }
.h2-cat::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--c, var(--ops-bucket-none)); }
.h2-mn { grid-area: mn; font-size: 13px; line-height: 18px; text-align: right; white-space: nowrap; }
.h2-ow { grid-area: ow; display: flex; justify-content: flex-end; gap: 4px; }
.h2-l2 { display: none; }
.h2-av { flex: none; display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--p); color: var(--ops-text-on-category); font-size: 12px; font-weight: 700; line-height: 1; }
.p-jon { --p: var(--ops-person-jon); }
.p-kendra { --p: var(--ops-person-kendra); }
.p-staff { --p: var(--ops-person-staff); }

.h2-wkb { height: 520px; overflow-y: auto; overscroll-behavior: contain; }
.h2-day { border-top: 1px solid var(--ops-line-default); }
.h2 .h2-dh { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; padding: 0 16px; }
@media (hover: hover) { .h2 .h2-dh:hover { background: var(--ops-bg-surface-hover); } }
.h2-dh svg { flex: none; color: var(--ops-text-tertiary); transform: rotate(90deg); }
.h2-day.shut .h2-dh svg { transform: none; }
.h2-dh b { width: 36px; font-size: 14px; font-weight: 600; }
.h2-dd { flex: 1; font-size: 13px; color: var(--ops-text-tertiary); }
.h2-day.shut .h2-dr { display: none; }
.h2-dr { padding: 0 0 8px; }
.h2-none { padding: 4px 16px 8px 42px; font-size: 14px; color: var(--ops-text-tertiary); }
.h2-row.h2-tr { grid-template-columns: 20px minmax(0, 1fr) 132px 48px 52px; column-gap: 10px; min-height: 40px; padding: 4px 16px 4px 42px; border-top: 0; }
.h2-tr .h2-tick { width: 18px; height: 18px; }
.h2 .h2-tick::after { inset: auto; left: 50%; top: 50%; width: 44px; height: 44px; transform: translate(-50%, -50%); }
.h2-blk { position: relative; display: flex; align-items: baseline; gap: 12px; min-height: 36px; margin: 2px 16px 2px 42px; padding: 6px 12px 6px 14px; border-radius: 4px; background: var(--ops-bg-sunken); }
.h2-blk::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; border-radius: 4px 0 0 4px; background: var(--c); }
.h2-bt { flex: 1; min-width: 0; font-size: 14px; line-height: 20px; font-weight: 500; overflow-wrap: break-word; }
.h2-bw { flex: none; font-size: 13px; line-height: 20px; color: var(--ops-text-secondary); white-space: nowrap; }
.h2-sea { display: flex; align-items: center; gap: 14px; min-height: 36px; padding: 4px 16px 4px 46px; font-size: 14px; font-weight: 500; }
.h2-sea::before { content: ""; flex: none; width: 9px; height: 9px; background: var(--ops-status-info); transform: rotate(45deg); }
.h2-sea small { margin-left: auto; font-size: 13px; font-weight: 400; color: var(--ops-text-tertiary); }

.sh-drawer.h2-drawer .sh-db { padding: 0; }
.h2-dr-row { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; grid-template-areas: "tk nm sk" "tk pj pj" "tk l2 l2"; column-gap: 12px; align-items: start; padding: 12px 16px; border-bottom: 1px solid var(--ops-line-row); }
@media (hover: hover) { .h2-dr-row:hover { background: var(--ops-bg-surface-hover); } }
.sh-drawer .h2-dr-nm { display: block; width: 100%; padding: 0; border: 0; background: none; color: var(--ops-text-primary); font: 500 14px/20px var(--dp5-font, Inter, system-ui, sans-serif); text-align: left; cursor: pointer; overflow-wrap: break-word; }
.sh-drawer .h2-dr-nm:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px var(--ops-focus); }
.h2-dr-pj { margin-top: 2px; font-size: 13px; line-height: 18px; color: var(--ops-text-tertiary); overflow-wrap: break-word; }
.h2-dr-l2 { display: flex; align-items: center; gap: 4px; margin-top: 4px; font-size: 13px; line-height: 18px; color: var(--ops-text-tertiary); }
.h2-dr-l2 .h2-bad { color: var(--ops-status-bad); }
.h2-dr-l2 > span:not(.h2-ow) { white-space: nowrap; }
.h2-dr-l2 .h2-cat { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.h2-dr-l2 .h2-cat::before { display: inline-block; vertical-align: middle; margin-right: 6px; }
.h2-dr-l2 .h2-sep { color: var(--ops-text-tertiary); }
.h2-dr-l2 .h2-ow { margin-left: auto; display: flex; gap: 4px; }
.h2-dr-l2 .h2-av { width: 20px; height: 20px; font-size: 11px; }
.sh-drawer .h2-dr-nm { grid-area: nm; }
.h2-dr-pj { grid-area: pj; }
.h2-dr-l2 { grid-area: l2; }
.h2-dr-row .h2-tick { grid-area: tk; position: relative; width: 20px; height: 20px; margin-top: 0; display: grid; place-items: center; padding: 0; border: 1.5px solid var(--ops-line-strong); border-radius: 4px; background: none; color: var(--ops-text-on-status); cursor: pointer; }
.h2-dr-row .h2-tick::after { content: ""; position: absolute; left: 50%; top: 50%; width: 44px; height: 44px; transform: translate(-50%, -50%); }
.h2-dr-row .h2-tick:hover { border-color: var(--ops-text-primary); }
.h2-dr-row .h2-tick svg { display: none; }
.h2-dr-row .h2-tick.on { background: var(--ops-status-good); border-color: var(--ops-status-good); }
.h2-dr-row .h2-tick.on svg { display: block; }
.h2-dr-row .h2-tick:disabled { border-color: var(--ops-line-default); cursor: default; }
.h2-dr-row .h2-tick:focus-visible, .h2-dr-row .h2-act:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px var(--ops-focus); }
.h2-dr-row .h2-act { grid-area: sk; align-self: start; padding: 0; border: 0; background: none; color: var(--ops-text-secondary); font: 600 14px/20px var(--dp5-font, Inter, system-ui, sans-serif); text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; cursor: pointer; }
.h2-dr-row .h2-act:hover { color: var(--ops-text-primary); }
.h2-dr-row .h2-act { position: relative; }
.h2-dr-row .h2-act::after { content: ""; position: absolute; inset: -12px -8px; }
.h2-dr-row.done .h2-dr-nm, .h2-dr-row.skipped .h2-dr-nm { color: var(--ops-text-secondary); text-decoration: line-through; }
.h2-dr-l2 .h2-good { color: var(--ops-status-good); }
.h2-dr-empty { margin: 0; padding: 14px 16px; color: var(--ops-text-secondary); font-size: 14px; }

.h2 .h2-pb { display: block; width: 100%; padding: 10px 16px; border-top: 1px solid var(--ops-line-default); }
@media (hover: hover) { .h2-pb:hover { background: var(--ops-bg-surface-hover); } }
.h2-pbh { display: flex; align-items: flex-start; gap: 12px; }
.h2-pn { flex: 1; min-width: 0; display: flex; gap: 8px; font-size: 14px; line-height: 20px; font-weight: 600; overflow-wrap: break-word; }
.h2-pn::before { content: ""; flex: none; width: 8px; height: 8px; margin-top: 6px; border-radius: 50%; background: var(--c); }
.h2-pn span { min-width: 0; }
.h2-pc { flex: none; font-size: 13px; line-height: 20px; white-space: nowrap; }
.h2-pb .h2-track { margin-top: 8px; }
.h2-pb .h2-track > i { background: var(--c); }

.sh-pop .h2-pk { display: flex; flex-direction: column; gap: 2px; max-height: min(420px, 60vh); overflow: auto; }
.sh-pop .h2-pkh { padding: 8px 10px 4px; font-size: 11px; line-height: 16px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ops-text-tertiary); }
.sh-pop .h2-pkr { display: flex; flex-direction: column; justify-content: center; gap: 0; width: 100%; min-height: 44px; padding: 10px; border: 0; border-radius: 6px; background: none; color: var(--ops-text-primary); font: 500 14px/20px var(--dp5-font, Inter, system-ui, sans-serif); text-align: left; cursor: pointer; }
.sh-pop .h2-pkr:hover { background: var(--ops-bg-surface-hover); }
.sh-pop .h2-pkr[aria-pressed="true"] { background: var(--ops-selected-bg); color: var(--ops-selected-text); }
.sh-pop .h2-pkn { overflow-wrap: break-word; }
.sh-pop .h2-pkm { font-size: 13px; line-height: 18px; color: var(--ops-text-tertiary); }
.sh-pop .h2-pkr[aria-pressed="true"] .h2-pkm { color: inherit; }
.sh-pop .h2-pke { margin: 0; padding: 12px 10px; font-size: 14px; color: var(--ops-text-secondary); }
.sh-pop .h2-pkc { align-self: flex-start; margin: 8px 10px 4px; padding: 0; border: 0; background: none; color: var(--ops-text-secondary); font: 600 14px/20px var(--dp5-font, Inter, system-ui, sans-serif); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }

@media (max-width: 1180px) {
  .h2-cols { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1439px) {
  .h2 { padding: 16px 16px 96px; gap: 12px; }
  .h2-cols, .h2-col { gap: 12px; }
  #toolbar .h2-sf, #toolbar .h2-sp { display: none; }
}
@media (max-width: 767px) {
  html.ops-navy .h2 > .h2-ph { flex: none; margin-bottom: 4px; }
  .h2-money { flex-direction: column; align-items: stretch; gap: 12px; padding: 16px; }
  .h2-mt { flex: none; }
  .h2-big { font-size: 28px; line-height: 34px; }
  .h2-money .h2-strip { width: 100%; }
  .h2-strip { gap: 1px; }
  .h2-strip i.now { box-shadow: inset 0 0 0 1px var(--ops-text-primary); }
  .h2-wk1 { padding: 16px; }
  .h2-one { flex-direction: column; align-items: stretch; gap: 12px; }
  .h2-one-a { flex-direction: row; align-items: center; justify-content: space-between; }
  .h2-one-a .h2-act { min-height: 44px; }
  .h2 .h2-start { display: flex; align-items: center; min-height: 44px; }
  .h2 .h2-od { padding: 0 12px 0 16px; }
  .h2-dh { min-height: 48px; }
  .h2-blk { margin-left: 16px; flex-direction: column; gap: 0; }
  .h2-sea { padding-left: 20px; }
  .h2-none { padding-left: 16px; }
  .h2-row { grid-template-columns: 20px minmax(0, 1fr) auto; grid-template-areas: "tk nm ow" "tk l2 ow"; min-height: 60px; padding: 10px 16px; }
  .h2-row.np { grid-template-areas: "tk nm ow" "tk l2 ow"; }
  .h2-row.h2-tr { grid-template-columns: 20px minmax(0, 1fr) auto; min-height: 56px; padding: 8px 16px; }
  .h2-row > .h2-cat, .h2-row .h2-mn, .h2-row .h2-pj { display: none; }
  .h2-l2 { display: block; grid-area: l2; font-size: 13px; line-height: 18px; }
  .h2 .h2-act { display: inline-flex; align-items: center; min-height: 44px; }
  .h2-ch .h2-act { min-height: 44px; }
  .h2-sublnk { position: relative; }
  .h2-sublnk::after { content: ""; position: absolute; inset: -12px -6px; }
}

html.ops-navy:has(#view > .s2) #toolbar { background: var(--ops-bg-canvas); }
html.ops-navy:has(#view > .s2) #pv-side { display: none !important; }
html.ops-navy body:has(#view > .s2) .shell { right: 0 !important; padding-right: 0 !important; background: var(--ops-bg-plane); }
html.ops-navy #view:has(> .s2) {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  width: auto !important;
  background: var(--ops-bg-plane);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.s2 { --cc: var(--ops-bucket-none); flex: 1; min-height: 0; min-width: 0; display: flex; flex-direction: column; background: var(--ops-bg-plane); color: var(--ops-text-primary); font-family: Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; }
.s2 .k-get, .s2-hc.k-get, .s2-dot.k-get { --cc: var(--ops-bucket-get); }
.s2 .k-serve, .s2-hc.k-serve, .s2-dot.k-serve { --cc: var(--ops-bucket-serve); }
.s2 .k-ops, .s2-hc.k-ops, .s2-dot.k-ops { --cc: var(--ops-bucket-ops); }
.s2 .k-growth, .s2-hc.k-growth, .s2-dot.k-growth { --cc: var(--ops-bucket-grow); }
.s2 .k-none, .s2-hc.k-none, .s2-dot.k-none { --cc: var(--ops-bucket-none); }
.s2 button { font: inherit; color: inherit; }
.s2 button:focus-visible, .s2-row:focus-visible, .s2-cb:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }

.s2-scroll { flex: 1; min-height: 0; overflow: auto; overscroll-behavior: contain; display: flex; flex-direction: column; }
.s2-grid { flex: 1 0 auto; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); grid-template-rows: 48px auto 1fr; }
.s2-head { grid-column: 1 / -1; grid-row: 1; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); position: sticky; top: 0; z-index: 3; height: 48px; background: var(--ops-bg-surface); border-bottom: 1px solid var(--ops-line-default); }
.s2 > .s2-head { flex: none; }
.s2-dh { display: flex; align-items: center; gap: 10px; padding: 0 16px; border-right: 1px solid var(--ops-line-default); min-width: 0; }
.s2-dh:last-child { border-right: 0; }
.s2-w { font-size: 11px; line-height: 16px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ops-text-secondary); }
.s2-d { font-size: 20px; line-height: 28px; font-weight: 600; min-width: 28px; height: 28px; display: grid; place-items: center; }
.s2-dh.today .s2-d { background: var(--ops-status-good); color: var(--ops-text-on-status); border-radius: 4px; width: 28px; }
.s2-stripw { grid-column: 1 / -1; grid-row: 2; background: var(--ops-bg-plane); border-bottom: 1px solid var(--ops-line-default); }
.s2-cols { grid-column: 1 / -1; grid-row: 3; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.s2-col { padding: 12px 0 96px; border-right: 1px solid var(--ops-line-default); min-width: 0; min-height: 100%; }
.s2-col:last-child { border-right: 0; }
.s2-col.tdy { background: var(--ops-status-good-wash); }
.s2-col.over { background: var(--ops-hover-wash); box-shadow: inset 0 0 0 1.5px var(--ops-text-secondary); }
.s2-none { padding: 4px 16px; font-size: 14px; line-height: 20px; color: var(--ops-text-tertiary); }

.s2-row { position: relative; display: flex; align-items: flex-start; gap: 4px; min-height: 44px; margin: 0 8px 8px; padding: 7px 7px 7px 4px; box-sizing: border-box; background: var(--ops-bg-surface); border: 1px solid var(--ops-line-default); border-left: 3px solid var(--cc); border-radius: 6px; cursor: pointer; text-align: left; }
.s2-row:hover { background: var(--ops-plane-item-hover); border-top-color: var(--ops-plane-item-hover-line); border-right-color: var(--ops-plane-item-hover-line); border-bottom-color: var(--ops-plane-item-hover-line); }
.s2-row { user-select: none; -webkit-user-select: none; }
.s2-row[data-drag] { cursor: grab; }
.s2-row.dragging { opacity: .45; }
.s2-row.s2-cv { border-left-color: var(--cc); }
.s2-due { color: var(--ops-text-primary); font-weight: 600; }
.s2-row.fade, .s2-flag.fade { opacity: .35; }
.s2-ghost { position: fixed; z-index: 70; margin: 0; pointer-events: none; opacity: .92; box-shadow: 0 8px 24px var(--ops-shadow-over); background: var(--ops-bg-surface-hover); }
.s2-tx { flex: 1; min-width: 0; padding-top: 1px; display: block; }
.s2-tn { display: block; font-size: 15px; line-height: 20px; overflow-wrap: break-word; }
.s2-tm { display: block; font-size: 13px; line-height: 18px; color: var(--ops-text-secondary); overflow-wrap: break-word; }
.s2-tt { color: var(--ops-text-primary); font-weight: 600; }
/* the widest word sits hidden in the same cell so ticking never rewraps the line */
.s2-st { display: inline-grid; white-space: nowrap; vertical-align: top; font-weight: 600; color: var(--ops-text-primary); }
.s2-st > span { grid-area: 1 / 1; }
.s2-st .s2-sz { visibility: hidden; }
.s2-st.st-late { color: var(--ops-status-bad); }
.s2-st.st-today { color: var(--ops-status-warn); }
.s2-st.st-ok { color: var(--ops-status-good); }
.s2-row.done, .s2-row.done .s2-tn { color: var(--ops-text-secondary); }
.s2-row.done .s2-tn { text-decoration: line-through; }

.s2-cb { flex: none; width: 28px; height: 28px; margin: -4px 0 0; padding: 0; display: grid; place-items: center; border: 0; border-radius: 4px; background: transparent; cursor: pointer; }
.s2-cb i { width: 18px; height: 18px; box-sizing: border-box; display: grid; place-items: center; border: 1.5px solid var(--ops-text-secondary); border-radius: 4px; color: var(--ops-text-on-status); }
.s2-cb i .s2-i { display: none; }
.s2-cb:hover i { border-color: var(--ops-text-primary); }
.s2-cb.on i { background: var(--ops-status-good); border-color: var(--ops-status-good); }
.s2-cb.on i .s2-i { display: block; }

.s2-flag, .s2-dia { display: flex; align-items: center; gap: 8px; box-sizing: border-box; width: calc(100% - 16px); min-height: 28px; margin: 0 8px 8px; padding: 4px 8px; border-radius: 4px; text-align: left; cursor: pointer; font-size: 13px; line-height: 18px; font-weight: 600; min-width: 0; }
.s2-flag { background: var(--ops-bg-surface); border: 1px solid var(--ops-line-default); border-left: 3px solid var(--cc); }
.s2-flag:hover { background: var(--ops-plane-item-hover); border-top-color: var(--ops-plane-item-hover-line); border-right-color: var(--ops-plane-item-hover-line); border-bottom-color: var(--ops-plane-item-hover-line); }
.s2-flag .s2-i { flex: none; color: var(--cc); }
.s2-dia { background: transparent; border: 0; padding-left: 10px; }
.s2-dia:hover { background: var(--ops-hover-wash); }
.s2-dmd { flex: none; width: 10px; height: 10px; background: var(--ops-status-warn); transform: rotate(45deg); }
.s2-fn { flex: 1 1 auto; min-width: 0; overflow-wrap: break-word; }
/* a name that cannot fit beside its word pushes the word to the next line instead of splitting */
.s2-flag, .s2-dia, .s2-bar { flex-wrap: wrap; row-gap: 2px; }
.s2-bar .s2-fw { margin-left: auto; }
.s2-flag, .s2-dia { display: block; }
.s2-flag .s2-fn, .s2-dia .s2-fn { display: inline; }
.s2-flag .s2-fw, .s2-dia .s2-fw { margin-left: 6px; }
.s2-flag, .s2-dia { position: relative; padding-left: 30px; }
.s2-flag > .s2-i { position: absolute; left: 8px; top: 6px; }
.s2-dia > .s2-dmd { position: absolute; left: 10px; top: 8px; }
.s2-bar .s2-fn { overflow-wrap: break-word; white-space: normal; }
.s2-fw { flex: none; font-weight: 600; white-space: nowrap; color: var(--ops-text-secondary); }
.s2-fw.h-ok { color: var(--ops-status-good); }
.s2-fw.h-warn { color: var(--ops-status-warn); }
.s2-fw.h-late { color: var(--ops-status-bad); }
.s2-fw.h-park { color: var(--ops-text-secondary); }

.s2-strip { max-height: 120px; overflow-y: auto; overflow-x: hidden; }
.s2-lane { min-height: 28px; padding: 3px 0; box-sizing: border-box; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); align-items: stretch; }
.s2-bar { box-sizing: border-box; min-height: 22px; padding-top: 3px; padding-bottom: 3px; margin: 0 3px; display: flex; align-items: center; gap: 8px; padding-left: 8px; padding-right: 8px; min-width: 0; overflow: hidden; background: var(--ops-bg-surface); border: 0; border-left: 3px solid var(--cc); border-radius: 4px; font-size: 12px; line-height: 16px; font-weight: 600; cursor: pointer; text-align: left; }
.s2-bar:hover { background: var(--ops-bg-surface-hover); }
.s2-bar.ev { cursor: default; border-left-color: var(--ops-bucket-none); background: transparent; }

.s2-host { flex: 1; min-height: 0; min-width: 0; position: relative; display: flex; flex-direction: column; overflow: auto; }
.s2-times { overflow: hidden; }
.s2-building { padding: 24px; font-size: 15px; line-height: 22px; color: var(--ops-text-secondary); }

#toolbar .s2-tbid { flex: 0 1 auto; min-width: 0; }
#toolbar .s2-tb { flex: none; display: flex; align-items: center; gap: 8px; }
#toolbar .s2-tb1 { flex: none; display: flex; align-items: center; gap: 8px; }
#toolbar .s2-tb2 { flex: none; display: flex; align-items: center; gap: 8px; }
#toolbar .s2-act { flex: none; height: 36px; padding: 0 4px; border: 0; border-radius: 4px; background: transparent; color: var(--ops-text-primary); font: 600 14px/20px var(--dp5-font, Inter, system-ui, sans-serif); text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; cursor: pointer; }
#toolbar .s2-act:hover, #toolbar .s2-act[aria-pressed="true"] { background: var(--ops-hover-wash); }
#toolbar .s2-act[aria-pressed="true"] { text-decoration-thickness: 2px; }
#toolbar .s2-act:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px var(--ops-focus); }
#toolbar .s2-ib { width: 36px; height: 36px; padding: 0; }
#toolbar .s2-title { flex: none; min-width: 150px; margin: 0 4px; padding: 0 8px; height: 36px; display: inline-flex; align-items: center; border: 0; border-radius: 6px; background: transparent; color: var(--ops-text-primary); font-size: 17px; line-height: 24px; font-weight: 600; white-space: nowrap; }
#toolbar button.s2-title { cursor: pointer; }
#toolbar button.s2-title:hover { background: var(--ops-hover-wash); }
#toolbar .s2-words { flex: none; max-width: 260px; display: flex; align-items: center; gap: 6px; overflow: hidden; }
#toolbar .s2-words:empty { display: none; }
#toolbar .s2-word { flex: none; display: inline-flex; align-items: center; gap: 2px; height: 28px; padding: 0 2px 0 10px; border: 1px solid var(--ops-line-strong); border-radius: 6px; font-size: 13px; line-height: 18px; font-weight: 600; white-space: nowrap; }
#toolbar .s2-word button { width: 24px; height: 24px; padding: 0; display: grid; place-items: center; border: 0; border-radius: 4px; background: transparent; color: var(--ops-text-secondary); cursor: pointer; }
#toolbar .s2-word button:hover { color: var(--ops-text-primary); background: var(--ops-hover-wash); }
#toolbar .s2-filter .s2-more { font-size: 13px; line-height: 18px; font-weight: 600; color: var(--ops-text-secondary); }
#toolbar .s2-filter.on { background: var(--ops-hover-wash); }
#toolbar .s2-seg { display: inline-flex; height: 36px; border: 1px solid var(--ops-line-strong); border-radius: 6px; overflow: hidden; }
#toolbar .s2-seg button { min-width: 64px; padding: 0 12px; border: 0; background: transparent; color: var(--ops-text-secondary); font-size: 15px; line-height: 22px; font-weight: 600; cursor: pointer; }
#toolbar .s2-seg button + button { border-left: 1px solid var(--ops-line-strong); }
#toolbar .s2-seg button:hover { color: var(--ops-text-primary); background: var(--ops-hover-wash); }
#toolbar .s2-seg button[aria-pressed="true"] { color: var(--ops-selected-text); background: var(--ops-selected-bg); }
#toolbar .s2-seg button[aria-pressed="true"]:hover { color: var(--ops-selected-text); background: var(--ops-selected-bg); }
#toolbar .s2-seg button:focus-visible, #toolbar .s2-title:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }

.s2-pop { padding: 8px 0; }
.s2-pop .s2-ph2 { padding: 8px 14px 4px; font-size: 13px; line-height: 18px; font-weight: 600; color: var(--ops-text-tertiary); }
.s2-pop .s2-pi { padding: 0 14px; border-radius: 0; }
.s2-pop .s2-lb { flex: 1; }
.s2-pop .s2-pi2 { height: auto; min-height: 44px; padding-top: 6px; padding-bottom: 6px; }
.s2-pop .s2-pi2 .s2-lb { display: flex; flex-direction: column; text-align: left; }
.s2-pop .s2-sub { font-size: 13px; line-height: 18px; color: var(--ops-text-tertiary); }
.s2-pop .s2-pi[aria-pressed="true"] { background: var(--ops-bg-surface-press); }
.s2-pop .s2-tk { flex: none; display: grid; place-items: center; }
.s2-pop .s2-hr { margin: 6px 0; border: 0; border-top: 1px solid var(--ops-line-default); }
.s2-dot { flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--cc); }
.s2-sw { flex: none; width: 36px; height: 20px; box-sizing: border-box; border: 1px solid var(--ops-line-strong); border-radius: 6px; position: relative; background: transparent; }
.s2-sw::after { content: ""; position: absolute; left: 3px; top: 3px; width: 12px; height: 12px; border-radius: 3px; background: var(--ops-text-secondary); }
.s2-sw.on { background: var(--ops-status-good); border-color: var(--ops-status-good); }
.s2-sw.on::after { left: 19px; background: var(--ops-text-on-status); }

.s2-hc { position: relative; }
.s2-hcbar { display: block; height: 4px; margin: -14px -14px 12px; border-radius: 8px 8px 0 0; background: var(--cc); }
.s2-hct { display: flex; align-items: flex-start; gap: 8px; }
.s2-hct b { flex: 1; min-width: 0; font-size: 15px; line-height: 22px; font-weight: 600; overflow-wrap: break-word; }
.s2-hct .s2-cb { margin-top: -3px; }
.s2-hc dl { margin: 10px 0 0; display: grid; grid-template-columns: 76px 1fr; gap: 4px 8px; font-size: 13px; line-height: 18px; }
.s2-hc dt { color: var(--ops-text-tertiary); }
.s2-hc dd { margin: 0; color: var(--ops-text-primary); overflow-wrap: break-word; }

.s2-ph { display: none; }

@media (max-width: 1439px) {
  html.ops-navy #toolbar:has(.s2-tb) { height: 88px; min-height: 88px; padding: 0 12px; align-items: stretch; }
  html.ops-navy #toolbar:has(.s2-tb) .sh-tb-body { align-items: stretch; }
  #toolbar .s2-tb { flex-direction: column; align-items: stretch; justify-content: center; gap: 4px; }
  #toolbar .s2-tb1 { flex: none; height: 40px; }
  #toolbar .s2-tb2 { flex: none; height: 40px; width: 100%; justify-content: space-between; gap: 6px; }
  #toolbar .s2-words { display: none; }
  #toolbar .s2-title { min-width: 0; flex: 1; font-size: 16px; padding: 0 4px; }
  #toolbar .s2-seg button { min-width: 48px; padding: 0 6px; font-size: 14px; }
  #toolbar .s2-filter span { display: none; }
  #toolbar .s2-filter { padding: 0 8px; }
  #toolbar .s2-tb2 .sh-btn { padding: 0 8px; font-size: 14px; }
  #toolbar .s2-tb2 .s2-plan { flex: 1; text-align: right; }
  #toolbar .s2-tb, #toolbar .s2-tb1 { width: 100%; }
  #toolbar .s2-tbid, #toolbar .s2-tbsp { display: none; }
  .s2-cb { width: 44px; height: 44px; margin: -12px -8px -8px -8px; }
}

@media (max-width: 767px) {
  html.ops-navy #toolbar:has(.s2-tb) { height: auto; min-height: 0; padding: 16px 16px 8px; }
  html.ops-navy #toolbar:has(.s2-tb) .sh-tb-body { flex-direction: column; align-items: stretch; gap: 0; }
  #toolbar .s2-tbid { display: block; margin-bottom: 12px; }
  html.ops-navy #toolbar .s2-tbid .sh-tbt { font-size: 24px; line-height: 30px; }
  html.ops-navy #toolbar .s2-tbid .sh-tbs { font-size: 14px; line-height: 20px; }
  #toolbar .s2-tb { gap: 8px; }
  #toolbar .s2-tb1, #toolbar .s2-tb2 { height: 44px; }
  #toolbar .s2-act { height: 44px; padding: 0 8px; }
  #toolbar .s2-tb .sh-btn { height: 44px; min-width: 44px; }
  #toolbar .s2-ib { width: 44px; height: 44px; }
  #toolbar .s2-range { height: 44px; }
  #toolbar .s2-range .s2-ib { width: 42px; height: 42px; }
  #toolbar .s2-range .s2-title { height: 42px; }
  #toolbar .s2-seg { height: 44px; }
  #toolbar .s2-seg button { min-height: 44px; }
}

html.ops-navy .s2 .tg-c-get { --bc: var(--ops-bucket-get); }
html.ops-navy .s2 .tg-c-serve { --bc: var(--ops-bucket-serve); }
html.ops-navy .s2 .tg-c-ops { --bc: var(--ops-bucket-ops); }
html.ops-navy .s2 .tg-c-grow { --bc: var(--ops-bucket-grow); }
html.ops-navy .s2 .tg-blk { background: color-mix(in srgb, var(--bc) 30%, var(--ops-bg-surface)); border: 0; border-left: 3px solid var(--bc); border-radius: 6px; color: var(--ops-text-primary); box-shadow: none; }
html.ops-navy .s2 .tg-blk:hover { background: color-mix(in srgb, var(--bc) 38%, var(--ops-bg-surface)); }
html.ops-navy .s2 .tg-blk.tg-c-none { background: var(--ops-bg-surface); border: 1px solid var(--ops-line-default); }
html.ops-navy .s2 .tg-blk.tg-c-none:hover { background: var(--ops-bg-surface-hover); }
html.ops-navy .s2 .tg-blk .tg-bt { color: var(--ops-text-primary); }
html.ops-navy .s2 .tg-blk :is(.tg-bm, .tg-btask) { color: var(--ops-text-secondary); }
html.ops-navy .s2 .tg-blk .pv-tick { box-shadow: inset 0 0 0 1.5px var(--ops-text-secondary); }
html.ops-navy .s2 .tg-blk .tg-h::after { background: var(--ops-text-tertiary); }
html.ops-navy .s2 .tg-blk .tg-rm { color: var(--ops-text-primary); }
html.ops-navy .s2 .tg-blk .tg-rm:hover { background: var(--ops-hover-wash); }
html.ops-navy .s2 .tg-blk .tg-rm:focus-visible { box-shadow: inset 0 0 0 1.5px var(--ops-focus); }
html.ops-navy .s2 .tg-blk.is-sel { box-shadow: inset 0 0 0 2px var(--ops-focus); }
html.ops-navy .s2 .tg-blk.is-ghost { box-shadow: inset 0 0 0 1.5px var(--ops-focus); }

/* ---- Schedule breathing room: the calendar sits in one framed card with a gutter on the sides and the
   bottom; each day head shows its count and a done bar; the week ends in a one-line summary. ---- */
html.ops-navy #view:has(> .s2) { background: var(--ops-bg-canvas); }
html.ops-navy body:has(#view > .s2) .shell { background: var(--ops-bg-canvas); }
.s2 { background: transparent; }
.s2-card { flex: 1; min-height: 0; min-width: 0; display: flex; flex-direction: column; overflow: hidden; background: var(--ops-bg-plane); }
.s2-card > .s2-head { flex: none; }
@media (min-width: 1440px) {
  .s2:not(.s2-phone) { padding: 0 24px 24px; }
  .s2-card { border: 1px solid var(--ops-line-default); border-radius: 8px; }
  html.ops-navy #toolbar:has(.s2-tb) { padding-left: 24px; padding-right: 24px; border-bottom-color: transparent; background: var(--ops-bg-canvas); }
  html.ops-navy #toolbar .s2-tbid + .s2-tb { margin-left: 16px; }
}

.s2-grid { grid-template-rows: 64px auto 1fr; }
.s2-head { height: 64px; }
.s2-dh { position: relative; flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px; padding: 0 16px 4px; }
.s2-dt { display: flex; align-items: center; gap: 10px; }
.s2-dc { font-size: 12px; line-height: 16px; color: var(--ops-text-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.s2-dc .s2-dl { font-weight: 600; color: var(--ops-status-bad); }
.s2-db { position: absolute; left: 16px; right: 16px; bottom: 6px; height: 3px; display: flex; border-radius: 2px; overflow: hidden; background: var(--ops-line-default); }
.s2-db i { display: block; height: 100%; }
.s2-db-done { background: var(--ops-status-good); }
.s2-db-late { background: var(--ops-status-bad); }
.s2:has(> .s2-card > .s2-times) .s2-card > .s2-head { padding-left: 66px; column-gap: 8px; box-sizing: border-box; overflow: hidden; scrollbar-gutter: stable; }

.s2-sum { flex: none; display: flex; align-items: center; gap: 8px; min-height: 52px; padding: 8px 16px; box-sizing: border-box; overflow-x: auto; background: var(--ops-bg-surface); border-top: 1px solid var(--ops-line-default); font-size: 13px; line-height: 18px; }
.s2-sh { flex: none; margin-right: 8px; font-weight: 600; color: var(--ops-text-primary); white-space: nowrap; }
.s2-sc { flex: 1 1 0; min-width: max-content; display: flex; align-items: center; justify-content: center; gap: 8px; height: 36px; padding: 0 12px; border-radius: 6px; background: var(--ops-bg-plane); white-space: nowrap; }
.s2-sl { color: var(--ops-text-secondary); }
.s2-sc b { font-weight: 600; color: var(--ops-text-primary); }
.s2-sc.is-late b { color: var(--ops-status-bad); }
.s2-who { flex: 2 1 0; gap: 12px; }
.s2-sp { color: var(--ops-text-secondary); }
.s2-col { padding-bottom: 24px; }

#toolbar .s2-range { flex: none; display: inline-flex; align-items: center; height: 36px; border: 1px solid var(--ops-line-strong); border-radius: 6px; overflow: hidden; }
#toolbar .s2-range .s2-ib { width: 34px; height: 34px; border-radius: 0; }
#toolbar .s2-range .s2-title { margin: 0; height: 34px; min-width: 132px; justify-content: center; border-radius: 0; border-left: 1px solid var(--ops-line-default); border-right: 1px solid var(--ops-line-default); }
@media (max-width: 1439px) {
  #toolbar .s2-range { flex: 1; min-width: 0; }
  #toolbar .s2-range .s2-title { flex: 1; min-width: 0; }
  .s2-head, .s2-grid { grid-template-rows: 64px auto 1fr; }
}


/* ---- The list: one scroller of day groups under a pinned strip of the week's dates ---- */
.s2-pbar { flex: none; border-bottom: 1px solid var(--ops-line-default); }
.s2-pstrip { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); height: 72px; }
.s2-pd { height: 72px; min-width: 44px; padding: 4px 0; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; border: 0; border-radius: 0; background: transparent; font-size: 12px; line-height: 16px; font-weight: 600; color: var(--ops-text-secondary); cursor: pointer; }
.s2-pd b { flex: none; min-width: 40px; height: 34px; padding: 0 4px; box-sizing: border-box; display: grid; place-items: center; border-radius: 6px; font-size: 18px; line-height: 24px; font-weight: 700; color: var(--ops-text-primary); }
.s2-pd.tdy, .s2-pd.tdy b { color: var(--ops-status-good); }
.s2-pd.sel b { background: var(--ops-selected-bg); color: var(--ops-selected-text); }
.s2-pdot { flex: none; width: 5px; height: 5px; margin-top: 1px; border-radius: 2px; background: var(--ops-text-tertiary); }
.s2-pdot.no { background: transparent; }
.s2 .s2-pd:focus-visible, .s2 .s2-dr .s2-add:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px var(--ops-focus); }

.s2-lscroll { display: block; position: relative; }
html.ops-navy.s2-fold body .shell { overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
html.ops-navy.s2-fold #toolbar { position: sticky; top: calc(var(--s2-fold, 0) * -1px); }
html.ops-navy.s2-fold body #view:has(> .s2) { flex: none; display: block; overflow: visible; }
html.ops-navy.s2-fold .s2.s2-list { display: block; flex: none; }
html.ops-navy.s2-fold .s2-pbar { position: sticky; top: calc((var(--s2-tbh, 0) - var(--s2-fold, 0)) * 1px); z-index: 4; background: var(--ops-bg-canvas); }
html.ops-navy.s2-fold .s2-lscroll { overflow: visible; }
.s2-lc { padding: 0 0 24px; }
.s2-list .s2-ld { display: grid; grid-template-columns: 56px minmax(0, 1fr); padding: 14px 16px; min-height: 0; border-right: 0; }
.s2-list .s2-ld + .s2-ld { border-top: 1px solid var(--ops-line-default); }
.s2-dn b { display: block; font-size: 26px; line-height: 32px; font-weight: 700; }
.s2-dn span { display: block; font-size: 13px; line-height: 18px; color: var(--ops-text-tertiary); }
.s2-ld.now .s2-dn b { color: var(--ops-status-good); }
.s2-dr { min-width: 0; display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
.s2-dr .s2-row { margin: 0; }
.s2-dr .s2-flag, .s2-dr .s2-dia { width: 100%; margin: 0; }
.s2-dr .s2-none { min-height: 44px; padding: 0; display: flex; align-items: center; }
.s2-dr .s2-add { align-self: flex-start; min-height: 44px; padding: 0 4px; border: 0; border-radius: 4px; background: transparent; color: var(--ops-text-secondary); font: 600 14px/20px var(--dp5-font, Inter, system-ui, sans-serif); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.s2-dr .s2-add:hover { color: var(--ops-text-primary); }
.s2-blk { display: block; box-sizing: border-box; min-height: 44px; padding: 8px 12px 8px 10px; background: var(--ops-bg-sunken); border-left: 3px solid var(--cc); border-radius: 6px; }
.s2-bn { display: block; font-size: 15px; line-height: 20px; font-weight: 600; overflow-wrap: break-word; }
.s2-bt { display: block; font-size: 13px; line-height: 18px; color: var(--ops-text-secondary); }
.s2-wk { box-sizing: border-box; min-height: 56px; padding: 10px 16px; background: var(--ops-bg-plane); border-top: 1px solid var(--ops-line-default); border-bottom: 1px solid var(--ops-line-default); font-size: 13px; line-height: 18px; color: var(--ops-text-secondary); }
.s2-wk b { display: block; font-weight: 600; color: var(--ops-text-primary); }
.s2-list:not(.s2-phone) .s2-wk b::after { content: " · "; font-weight: 400; color: var(--ops-text-secondary); }
.s2-wk .s2-wo { font-weight: 600; color: var(--ops-status-bad); }
.s2-lc > .st-strip { margin: 0; }

.s2-rr { flex: none; margin-left: auto; display: flex; align-items: center; gap: 16px; }
.s2-rs { font-size: 13px; line-height: 18px; font-weight: 600; white-space: nowrap; color: var(--ops-text-primary); }
.s2-rs.st-late { color: var(--ops-status-bad); }
.s2-rs.st-today { color: var(--ops-status-warn); }
.s2-rs.st-ok { color: var(--ops-status-good); }
.s2-av { display: flex; gap: 4px; }

@media (min-width: 1440px) {
  .s2-list:not(.s2-phone) .s2-pstrip { max-width: 880px; margin-left: 24px; }
  .s2-list:not(.s2-phone) .s2-lc { max-width: 928px; padding: 0 24px 40px; }
  .s2-list:not(.s2-phone) .s2-ld { grid-template-columns: 88px minmax(0, 1fr); padding: 16px 0; }
  .s2-list:not(.s2-phone) .s2-row { align-items: center; margin: 0; padding: 8px 14px 8px 8px; gap: 8px; }
  .s2-list:not(.s2-phone) .s2-cb { margin: 0; }
  .s2-list:not(.s2-phone) .s2-blk { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
  .s2-list:not(.s2-phone) .s2-bt { flex: none; }
  .s2-list:not(.s2-phone) .s2-wk { border: 1px solid var(--ops-line-default); border-radius: 6px; margin: 4px 0; padding: 15px 16px; min-height: 48px; }
  .s2-list:not(.s2-phone) .s2-wk b { display: inline; }
}
@media (min-width: 1440px) and (max-width: 1599px) {
  #toolbar .s2-seg button { min-width: 0; padding: 0 8px; font-size: 14px; }
}

.v-row.k-get, .v-flag.k-get, .v-hc.k-get { --cc: var(--ops-bucket-get); }
.v-row.k-serve, .v-flag.k-serve, .v-hc.k-serve { --cc: var(--ops-bucket-serve); }
.v-row.k-ops, .v-flag.k-ops, .v-hc.k-ops { --cc: var(--ops-bucket-ops); }
.v-row.k-growth, .v-flag.k-growth, .v-hc.k-growth { --cc: var(--ops-bucket-grow); }
.v-row.k-none, .v-flag.k-none, .v-hc.k-none { --cc: var(--ops-bucket-none); }

.v-month, .v-year { flex: 1; min-height: 0; min-width: 0; display: flex; flex-direction: column; overflow: auto; overscroll-behavior: contain; background: var(--ops-bg-plane); color: var(--ops-text-primary); font-variant-numeric: tabular-nums; }
.v-month button, .v-year button, .v-pop button, .v-jump button { font: inherit; color: inherit; }
.v-month button:focus-visible, .v-year button:focus-visible, .v-row:focus-visible, .v-pop button:focus-visible, .v-jump button:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }
.v-none { padding: 4px 8px; font-size: 14px; line-height: 20px; color: var(--ops-text-tertiary); }
.v-pad { padding: 24px; }

.v-mh { flex: none; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); position: sticky; top: 0; z-index: 2; height: 36px; background: var(--ops-bg-surface); border-bottom: 1px solid var(--ops-line-default); }
.v-wh { display: flex; align-items: center; padding: 0 12px; font-size: 11px; line-height: 16px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ops-text-secondary); border-right: 1px solid var(--ops-line-default); }
.v-wh:last-child { border-right: 0; }
.v-mg { flex: 1 0 auto; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); grid-template-rows: repeat(6, minmax(168px, auto)); }
.v-cell { min-width: 0; padding: 0 0 8px; border-right: 1px solid var(--ops-line-default); border-bottom: 1px solid var(--ops-line-default); background: var(--ops-bg-plane); }
.v-cell:nth-child(7n) { border-right: 0; }
.v-cell.tdy { background: linear-gradient(var(--ops-status-good-wash), var(--ops-status-good-wash)), var(--ops-bg-plane); }
.v-cell.out { background-color: var(--ops-bg-plane); background-image: repeating-linear-gradient(135deg, transparent 0 6px, var(--ops-hover-wash) 6px 7px); }
.v-cell.out .v-dn { color: var(--ops-text-tertiary); }
.v-cd { display: flex; align-items: center; height: 36px; padding: 0 8px; }
.v-dn { min-width: 28px; height: 28px; padding: 0 4px; box-sizing: border-box; display: inline-grid; place-items: center; font-size: 15px; line-height: 22px; font-weight: 600; }
.v-cell.tdy .v-dn { background: var(--ops-status-good); color: var(--ops-text-on-status); border-radius: 4px; }

.v-row { position: relative; display: flex; align-items: flex-start; gap: 4px; min-height: 22px; margin: 0 6px 2px; padding: 1px 6px 1px 2px; box-sizing: border-box; background: var(--ops-bg-surface); border: 0; border-left: 3px solid var(--cc); border-radius: 4px; cursor: pointer; text-align: left; font-size: 13px; line-height: 18px; user-select: none; -webkit-user-select: none; }
.v-row:hover { background: var(--ops-plane-item-hover); box-shadow: inset 0 0 0 1px var(--ops-plane-item-hover-line); }
.v-row.done, .v-row.done .v-tn { color: var(--ops-text-secondary); }
.v-row.done .v-tn { text-decoration: line-through; }
.v-tx { flex: 1; min-width: 0; display: block; }
.v-tn { display: block; overflow-wrap: break-word; word-break: normal; }
.v-tm { display: block; font-size: 13px; line-height: 18px; color: var(--ops-text-secondary); overflow-wrap: break-word; }
.v-st { display: block; font-size: 13px; line-height: 18px; font-weight: 600; }
.v-st.st-late { color: var(--ops-status-bad); }
.v-st.st-today { color: var(--ops-status-warn); }
.v-st.st-ok { color: var(--ops-status-good); }
.v-row.full { min-height: 36px; padding: 6px 8px 6px 4px; font-size: 15px; line-height: 20px; margin-bottom: 6px; }

.v-cb { flex: none; width: 22px; height: 18px; margin: 0 0 0 -2px; padding: 0; display: grid; place-items: center; border: 0; border-radius: 4px; background: transparent; cursor: pointer; }
.v-cb i { width: 14px; height: 14px; box-sizing: border-box; display: grid; place-items: center; border: 1.5px solid var(--ops-text-secondary); border-radius: 3px; color: var(--ops-text-on-status); }
.v-cb i .v-i { display: none; }
.v-cb:hover i { border-color: var(--ops-text-primary); }
.v-cb.on i { background: var(--ops-status-good); border-color: var(--ops-status-good); }
.v-cb.on i .v-i { display: block; }
.v-row.full .v-cb, .v-hct .v-cb { width: 28px; height: 28px; margin: -4px 0 0 0; }
.v-row.full .v-cb i, .v-hct .v-cb i { width: 18px; height: 18px; }

.v-flag, .v-dia { display: flex; align-items: center; gap: 6px; box-sizing: border-box; width: calc(100% - 12px); min-height: 22px; margin: 0 6px 2px; padding: 2px 6px; border-radius: 4px; text-align: left; font-size: 12px; line-height: 16px; font-weight: 600; min-width: 0; }
.v-flag { background: var(--ops-bg-surface); border: 1px solid var(--ops-line-default); border-left: 3px solid var(--cc); cursor: pointer; }
.v-flag:hover { background: var(--ops-plane-item-hover); border-top-color: var(--ops-plane-item-hover-line); border-right-color: var(--ops-plane-item-hover-line); border-bottom-color: var(--ops-plane-item-hover-line); }
.v-flag.fade { opacity: .35; }
.v-flag .v-i { flex: none; color: var(--cc); }
.v-dia { border: 0; padding-left: 8px; }
.v-dmd { flex: none; width: 9px; height: 9px; background: var(--ops-status-warn); transform: rotate(45deg); }
.v-fn { flex: 1; min-width: 0; overflow-wrap: break-word; }
.v-fw { flex: none; white-space: nowrap; color: var(--ops-text-secondary); }
.v-dia .v-fn { flex: 0 1 auto; }
.v-fw.h-ok { color: var(--ops-status-good); }
.v-fw.h-warn { color: var(--ops-status-warn); }
.v-fw.h-late { color: var(--ops-status-bad); }
.v-fw.h-park { color: var(--ops-text-secondary); }
.v-more { display: block; width: calc(100% - 12px); min-height: 22px; margin: 2px 6px 0; padding: 0 6px; border: 0; border-radius: 4px; background: transparent; text-align: left; font-size: 13px; line-height: 22px; font-weight: 600; color: var(--ops-text-primary); cursor: pointer; }
.v-more:hover { background: var(--ops-hover-wash); }

.v-dot { flex: none; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--ops-text-secondary); }
.v-dot.open { background: var(--ops-status-warn); }
.v-dot.late { background: var(--ops-status-bad); }
.v-dot.done { background: var(--ops-status-good); }

.v-leg { flex: none; display: flex; align-items: center; gap: 20px; height: 36px; padding: 0 16px; background: var(--ops-bg-surface); border-bottom: 1px solid var(--ops-line-default); font-size: 13px; line-height: 18px; font-weight: 600; color: var(--ops-text-primary); position: sticky; left: 0; }
.v-lg { display: inline-flex; align-items: center; gap: 8px; }
.v-yg { flex: 1 0 auto; display: grid; grid-template-columns: repeat(4, minmax(236px, 1fr)); grid-template-rows: repeat(3, minmax(236px, 1fr)); }
.v-mm { min-width: 0; padding: 12px 16px 16px; border-right: 1px solid var(--ops-line-default); border-bottom: 1px solid var(--ops-line-default); display: flex; flex-direction: column; }
.v-mm:nth-child(4n) { border-right: 0; }
.v-mn { align-self: flex-start; width: 100%; box-sizing: border-box; height: 32px; padding: 0 8px; border: 0; border-radius: 4px; background: transparent; text-align: left; font-size: 15px; line-height: 22px; font-weight: 600; color: var(--ops-text-primary); cursor: pointer; }
.v-mn:hover { background: var(--ops-hover-wash); }
.v-yw, .v-dg { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.v-dg { flex: 1; grid-template-rows: repeat(6, minmax(30px, 1fr)); }
.v-yw span { height: 24px; display: grid; place-items: center; font-size: 11px; line-height: 16px; font-weight: 600; color: var(--ops-text-secondary); }
.v-yd { position: relative; min-width: 0; min-height: 30px; padding: 0; border: 0; border-radius: 4px; background: transparent; cursor: pointer; font-size: 13px; line-height: 18px; color: var(--ops-text-primary); }
.v-yd:hover { background: var(--ops-hover-wash); }
.v-yd span { position: absolute; left: 0; right: 0; top: 3px; text-align: center; }
.v-yd .v-dot { position: absolute; left: 50%; margin-left: -3px; bottom: 3px; }
.v-yd.tdy span { left: 3px; right: 3px; background: var(--ops-status-good); color: var(--ops-text-on-status); border-radius: 3px; font-weight: 600; }

.v-ph .v-pg { flex: none; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-bottom: 1px solid var(--ops-line-default); }
.v-ph .v-mh { height: 32px; position: static; }
.v-ph .v-wh { justify-content: center; padding: 0; }
.v-pc { position: relative; height: 48px; min-width: 44px; padding: 0; border: 0; border-radius: 0; background: transparent; font-size: 15px; line-height: 22px; font-weight: 600; color: var(--ops-text-primary); cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; }
.v-pc.out { color: var(--ops-text-tertiary); }
.v-pc.sel { box-shadow: inset 0 -2px 0 var(--ops-text-primary); background: var(--ops-hover-wash); }
.v-pc.tdy span { background: var(--ops-status-good); color: var(--ops-text-on-status); border-radius: 4px; }
.v-pc span { min-width: 28px; height: 24px; padding: 0 4px; box-sizing: border-box; display: grid; place-items: center; }
.v-pc .v-dot { height: 6px; }
.v-pl { flex: 1; min-height: 0; padding: 0 0 96px; }
.v-plh { padding: 12px 16px 6px; font-size: 13px; line-height: 18px; font-weight: 600; color: var(--ops-text-secondary); }
.v-pl .v-row, .v-pl .v-flag, .v-pl .v-dia { margin-left: 12px; margin-right: 12px; }
.v-pl .v-flag, .v-pl .v-dia { width: calc(100% - 24px); }
.v-pl .v-row.full { min-height: 44px; }
.v-pl .v-row.full .v-cb { width: 44px; height: 44px; margin: -12px -8px -8px -8px; }

.v-hc dl { margin: 10px 0 0; display: grid; grid-template-columns: 76px 1fr; gap: 4px 8px; font-size: 13px; line-height: 18px; }
.v-hc dt { color: var(--ops-text-tertiary); }
.v-hc dd { margin: 0; color: var(--ops-text-primary); overflow-wrap: break-word; }
.v-hct { display: flex; align-items: flex-start; gap: 8px; }
.v-hct b { flex: 1; min-width: 0; font-size: 15px; line-height: 22px; font-weight: 600; overflow-wrap: break-word; }
.v-dl { margin: 8px 0 0; padding: 0; list-style: none; display: grid; gap: 4px; font-size: 14px; line-height: 20px; }
.v-dl li { overflow-wrap: break-word; }
.v-dl li.done { text-decoration: line-through; color: var(--ops-text-secondary); }
.v-dm { margin-top: 6px; font-size: 13px; line-height: 18px; font-weight: 600; color: var(--ops-text-secondary); }

.v-pop { min-width: 280px; max-height: calc(100vh - 16px); overflow: auto; padding: 0 0 8px; }
html.ops-navy .sh-pop.v-pop { max-height: calc(100vh - 16px); overflow-y: auto; overscroll-behavior: contain; }
.v-pt { position: sticky; top: 0; z-index: 1; background: inherit; display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 12px 14px 8px; font-size: 15px; line-height: 22px; }
.v-pt b { font-weight: 600; }
.v-pt span { font-size: 13px; line-height: 18px; color: var(--ops-text-secondary); }
.v-pb { padding: 0 6px; }
.v-pop .v-row, .v-pop .v-flag, .v-pop .v-dia { margin-left: 0; margin-right: 0; }
.v-pop .v-flag, .v-pop .v-dia { width: 100%; min-height: 28px; margin-bottom: 6px; font-size: 13px; line-height: 18px; }

.v-jump { padding: 8px 8px 4px; }
.v-jh { display: flex; align-items: center; justify-content: space-between; height: 40px; }
.v-jn { width: 36px; height: 36px; padding: 0; display: grid; place-items: center; border: 0; border-radius: 6px; background: transparent; color: var(--ops-text-secondary); cursor: pointer; }
.v-jn:hover { background: var(--ops-hover-wash); color: var(--ops-text-primary); }
.v-jt { flex: 1; height: 36px; padding: 0 8px; display: grid; place-items: center; border: 0; border-radius: 6px; background: transparent; text-align: center; font-size: 15px; line-height: 22px; font-weight: 600; color: var(--ops-text-primary); }
button.v-jt { cursor: pointer; }
button.v-jt:hover { background: var(--ops-hover-wash); }
.v-jw, .v-jg { display: grid; grid-template-columns: repeat(7, 1fr); }
.v-jw span { height: 24px; display: grid; place-items: center; font-size: 11px; line-height: 16px; font-weight: 600; color: var(--ops-text-secondary); }
.v-jd { height: 36px; padding: 0; border: 0; border-radius: 4px; background: transparent; font-size: 14px; line-height: 20px; color: var(--ops-text-primary); cursor: pointer; }
.v-jd:hover { background: var(--ops-hover-wash); }
.v-jd.out { color: var(--ops-text-tertiary); }
.v-jd.wk { background: var(--ops-hover-wash); }
.v-jd.sel { box-shadow: inset 0 0 0 1.5px var(--ops-text-secondary); }
.v-jd.tdy { background: var(--ops-status-good); color: var(--ops-text-on-status); font-weight: 600; }
.v-jy { grid-template-columns: repeat(3, 1fr); gap: 4px; padding: 4px 0; }
.v-jm { height: 44px; border: 0; border-radius: 4px; background: transparent; font-size: 15px; line-height: 22px; color: var(--ops-text-primary); cursor: pointer; }
.v-jm:hover { background: var(--ops-hover-wash); }
.v-jm.sel { box-shadow: inset 0 0 0 1.5px var(--ops-text-secondary); }
.v-jm.tdy { font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.v-jf { display: flex; justify-content: flex-end; padding: 4px 0 4px; border-top: 1px solid var(--ops-line-default); margin-top: 4px; }
.v-jtoday { height: 36px; padding: 0 12px; border: 0; border-radius: 6px; background: transparent; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--ops-text-primary); cursor: pointer; }
.v-jtoday:hover { background: var(--ops-hover-wash); }

.s2:has(> .s2-times) > .s2-head { padding-left: 66px; column-gap: 8px; box-sizing: border-box; overflow: hidden; scrollbar-gutter: stable; }
.s2-times { overflow: hidden; background: var(--ops-bg-plane); }
.v-band { flex: none; max-height: 160px; min-height: 36px; overflow-y: auto; overflow-x: hidden; scrollbar-gutter: stable; display: grid; grid-template-columns: 58px repeat(7, minmax(0, 1fr)); column-gap: 8px; align-items: start; padding-top: 6px; background: var(--ops-bg-plane); border-bottom: 1px solid var(--ops-line-default); }
.v-bg { padding: 6px 8px 0 12px; font-size: 10.5px; line-height: 16px; font-weight: 600; color: var(--ops-text-tertiary); }
.v-bc { min-width: 0; padding-bottom: 6px; }
.v-bc.tdy { background: var(--ops-status-good-wash); }
.v-bc .v-row, .v-bc .v-flag { margin-left: 0; margin-right: 0; }
.v-bc .v-flag { width: 100%; }
.v-tg { flex: 1; min-height: 0; min-width: 0; display: flex; flex-direction: column; background: var(--ops-bg-plane); }
.v-tg .tg { flex: 1; min-height: 0; display: flex; flex-direction: column; }
html.ops-navy .v-tg .tg-head { display: none; }
html.ops-navy .sh-drawer .sh-db:has(> .tg-draft) { display: flex; flex-direction: column; padding-bottom: 0; }
html.ops-navy .sh-drawer .tg-form :is(input, textarea, select), html.ops-navy .sh-drawer .tg-sec select { background-color: var(--ops-bg-field); }
html.ops-navy .sh-drawer :is(.tg-form select, .tg-sec select):hover { background-color: var(--ops-bg-surface-hover); }
html.ops-navy .sh-drawer :is(.tg-irow, .tg-brow) { background: var(--ops-bg-sunken); }
html.ops-navy .sh-drawer :is(.tg-irow, .tg-brow):hover { background: var(--ops-bg-surface-hover); }
html.ops-navy .sh-drawer .tg-act:hover { background: var(--ops-hover-wash); }
.v-tg .tg-scroll, .v-tg .tg-inner { flex: 1; min-height: 0; background: var(--ops-bg-plane); }

@media (max-width: 1439px) {
  .v-yg { min-width: 944px; }
  .v-leg { gap: 14px; }
}
@media (max-width: 959px) {
  .v-yg { min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; grid-auto-rows: auto; }
  .v-mm { padding: 8px 6px 12px; }
  .v-mm:nth-child(4n) { border-right: 1px solid var(--ops-line-default); }
  .v-mm:nth-child(2n) { border-right: 0; }
  .v-mn { padding: 0 4px; }
}
@media (max-width: 359px) {
  .v-yg { grid-template-columns: minmax(0, 1fr); }
  .v-mm:nth-child(n) { border-right: 0; }
}

html.ops-navy .m2-main { box-sizing: border-box; padding: var(--sh-pad, 24px) var(--sh-pad, 24px) 48px; min-height: 100%; background: var(--page); color: var(--ops-text-primary); font-variant-numeric: tabular-nums; }
html.ops-navy .m2-stack { display: flex; flex-direction: column; gap: 16px; }
html.ops-navy .m2-msg { margin: 0; padding: 24px 0; font-size: 15px; line-height: 22px; color: var(--ops-text-secondary); }
html.ops-navy .m2-empty { margin: 0; font-size: 13px; line-height: 18px; color: var(--ops-text-secondary); }
html.ops-navy .m2-empty.m2-pad { padding: 0 16px 16px; }
html.ops-navy .m2-meta { color: var(--ops-text-tertiary); }
html.ops-navy .m2-good { color: var(--ops-status-good); }
html.ops-navy .m2-warn { color: var(--ops-status-warn); }
html.ops-navy .m2-bad { color: var(--ops-status-bad); }

html.ops-navy .m2-ph { display: flex; align-items: flex-start; gap: 16px; min-height: 64px; margin-bottom: 20px; }
html.ops-navy .m2-pid { flex: 1; min-width: 0; }
html.ops-navy .m2-pt { margin: 0; font: 700 28px/36px var(--dp5-font, Inter, system-ui, sans-serif); letter-spacing: -0.01em; color: var(--ops-text-primary); }
html.ops-navy .m2-ps { min-height: 20px; margin-top: 4px; font-size: 14px; line-height: 20px; color: var(--ops-text-tertiary); }
html.ops-navy .m2-pr { display: flex; align-items: center; gap: 16px; padding-top: 2px; }
html.ops-navy .m2-acts { display: flex; align-items: center; gap: 16px; }
html.ops-navy #toolbar .m2-acts { margin-left: 8px; }

html.ops-navy .m2-seg { display: inline-flex; flex: none; padding: 3px; gap: 2px; border: 1px solid var(--ops-line-default); border-radius: 6px; background: var(--ops-bg-sunken); }
html.ops-navy .m2-sb { height: 32px; padding: 0 14px; border: 0; border-radius: 4px; background: transparent; color: var(--ops-text-secondary); font: 600 14px/20px var(--dp5-font, Inter, system-ui, sans-serif); cursor: pointer; }
html.ops-navy .m2-sb:hover { color: var(--ops-text-primary); }
html.ops-navy .m2-sb[aria-pressed="true"] { background: var(--ops-selected-bg); color: var(--ops-selected-text); }

html.ops-navy .m2-act, html.ops-navy .m2-lnk { padding: 0; border: 0; background: none; color: var(--ops-text-secondary); font: 600 14px/20px var(--dp5-font, Inter, system-ui, sans-serif); text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; cursor: pointer; }
html.ops-navy .m2-act:hover, html.ops-navy .m2-lnk:hover { color: var(--ops-text-primary); }
html.ops-navy .m2-lnk:disabled { opacity: .5; cursor: default; text-decoration: none; }
html.ops-navy .m2-act:focus-visible, html.ops-navy .m2-lnk:focus-visible, html.ops-navy .m2-sb:focus-visible, html.ops-navy .m2-ib:focus-visible, html.ops-navy .m2-grip:focus-visible,
html.ops-navy .m2-mv:focus-visible, html.ops-navy .m2-addcell:focus-visible, html.ops-navy .m2-wk-s:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px var(--ops-focus); }

html.ops-navy .m2-nums { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
html.ops-navy .m2-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px; align-content: start; }
html.ops-navy .m2-grid > .m2-half { grid-column: span 6; }
html.ops-navy .m2-grid > .m2-half.m2-full, html.ops-navy .m2-grid > .m2-wide { grid-column: span 12; }

html.ops-navy .m2-card { position: relative; box-sizing: border-box; min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--ops-line-default); border-radius: 8px; background: var(--ops-bg-surface); box-shadow: var(--ops-shadow-card); }
html.ops-navy .m2-card.is-edit { border-style: dashed; border-color: var(--ops-status-info); }
html.ops-navy .m2-card.is-dragging { opacity: .35; }
html.ops-navy .m2-card.is-over { box-shadow: inset 0 0 0 2px var(--ops-status-info); }
html.ops-navy .m2-ghost { opacity: .92; box-shadow: var(--over); }

html.ops-navy .m2-nc { padding: 16px; cursor: pointer; }
html.ops-navy .m2-nc:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px var(--ops-focus); }
html.ops-navy .m2-lbl { font-size: 13px; line-height: 18px; font-weight: 500; color: var(--ops-text-tertiary); }
html.ops-navy .m2-big { margin: 2px 0; font-size: 28px; line-height: 34px; font-weight: 700; letter-spacing: -0.01em; white-space: nowrap; color: var(--ops-text-primary); }
html.ops-navy .m2-big.m2-good { color: var(--ops-status-good); }
html.ops-navy .m2-big.m2-bad { color: var(--ops-status-bad); }
html.ops-navy .m2-big .m2-of { margin-left: 2px; font-size: 16px; line-height: 22px; font-weight: 500; letter-spacing: 0; }
html.ops-navy .m2-ns { min-height: 18px; font-size: 13px; line-height: 18px; color: var(--ops-text-secondary); }
html.ops-navy .m2-nl { font-size: 13px; line-height: 18px; }
html.ops-navy .m2-nf { margin-top: auto; padding-top: 12px; }

html.ops-navy .m2-trk { height: 6px; border-radius: 2px; background: var(--ops-bg-sunken); overflow: hidden; }
html.ops-navy .m2-trk > i { display: block; height: 100%; border-radius: 2px; background: var(--c, var(--ops-status-good)); }
html.ops-navy .m2-t-rev { --c: var(--ops-series-revenue); }
html.ops-navy .m2-t-good, html.ops-navy .m2-s-good { --c: var(--ops-status-good); }
html.ops-navy .m2-t-warn, html.ops-navy .m2-s-warn { --c: var(--ops-status-warn); }
html.ops-navy .m2-s-bad { --c: var(--ops-status-bad); }

html.ops-navy .m2-ch { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 16px; flex: none; }
html.ops-navy .m2-ct { margin: 0; min-width: 0; font: 600 15px/22px var(--dp5-font, Inter, system-ui, sans-serif); color: var(--ops-text-primary); overflow-wrap: anywhere; }
html.ops-navy .m2-ct em { font-style: normal; font-weight: 400; color: var(--ops-text-tertiary); }
html.ops-navy .m2-ch > .m2-tg, html.ops-navy .m2-ch > .m2-lgw, html.ops-navy .m2-ch > .m2-act, html.ops-navy .m2-ch > .m2-hr, html.ops-navy .m2-ch > .m2-ib { margin-left: auto; }
html.ops-navy .m2-ch > .m2-tg + .m2-act { margin-left: 0; }
html.ops-navy .m2-ch > .m2-lgw + .m2-act, html.ops-navy .m2-ch > .m2-lgw + .m2-hr { margin-left: 16px; }
html.ops-navy .m2-tg { font-size: 14px; line-height: 20px; color: var(--ops-text-tertiary); white-space: nowrap; }
html.ops-navy .m2-cb { padding: 0 16px 16px; }

html.ops-navy .m2-lgw { display: flex; align-items: center; gap: 16px; }
html.ops-navy .m2-lg { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; line-height: 18px; color: var(--ops-text-tertiary); white-space: nowrap; }
html.ops-navy .m2-li { display: block; width: 16px; height: 0; }
html.ops-navy .m2-li-rev { border-top: 2px solid var(--ops-series-revenue); }
html.ops-navy .m2-li-need { border-top: 2px dashed var(--ops-status-warn); }
html.ops-navy .m2-lgnote { color: var(--ops-text-secondary); font-weight: 600; }
html.ops-navy .m2-lgnote.is-warn { color: var(--ops-status-warn); }

html.ops-navy .m2-rbody { padding: 0 16px 16px; }
html.ops-navy .m2-rc.rc-box, html.ops-navy .m2-rc { height: 240px; }
html.ops-navy .m2-rev .rc-ax { font-size: 12px; font-weight: 400; }
html.ops-navy .m2-revdown { height: 240px; display: flex; flex-direction: column; align-items: flex-start; }
html.ops-navy .m2-cap { display: block; font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--ops-text-secondary); }
html.ops-navy .m2-bigfig { font-size: 40px; line-height: 46px; font-weight: 700; margin-top: 4px; }
html.ops-navy .m2-revdown p { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 12px 0 0; font-size: 14px; line-height: 20px; color: var(--ops-text-secondary); }
html.ops-navy .m2-revdown .m2-lnk { color: var(--ops-text-primary); }

html.ops-navy .m2-wk { position: relative; height: 180px; }
html.ops-navy .m2-wk-none { display: flex; align-items: center; justify-content: center; }
html.ops-navy .m2-wk-p { position: absolute; left: 24px; right: 0; top: 8px; bottom: 26px; }
html.ops-navy .m2-gl { position: absolute; left: 0; right: 0; height: 0; border-top: 1px solid var(--ops-line-default); }
html.ops-navy .m2-gl.is-base { border-top-color: var(--ops-line-strong); }
html.ops-navy .m2-yl { position: absolute; left: -24px; width: 20px; transform: translateY(50%); font-size: 12px; line-height: 12px; color: var(--ops-text-tertiary); }
html.ops-navy .m2-wk-b { position: absolute; inset: 0; display: flex; }
html.ops-navy .m2-wk-s { flex: 1 1 0; min-width: 0; height: 100%; display: flex; align-items: flex-end; justify-content: center; }
html.ops-navy .m2-wb { display: block; width: 70%; min-height: 2px; border-radius: 2px 2px 0 0; background: var(--mcol); }
html.ops-navy .m2-wb.is-now { outline: 1.5px solid var(--ops-text-primary); }
html.ops-navy .m2-wk-s:hover .m2-wb { filter: brightness(1.15); }
html.ops-navy .m2-wk-t { position: absolute; left: 0; right: 0; height: 0; border-top: 2px dashed var(--ops-status-warn); pointer-events: none; }
html.ops-navy .m2-wk-x { position: absolute; left: 24px; right: 0; bottom: 0; height: 26px; display: flex; }
html.ops-navy .m2-wk-x span { flex: 1 1 0; min-width: 0; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 6px; font-size: 12px; line-height: 12px; color: var(--ops-text-tertiary); }
html.ops-navy .m2-wk-x .is-now { font-weight: 600; color: var(--ops-text-primary); }

html.ops-navy .m2-mn { display: flex; align-items: baseline; gap: 8px; flex: none; min-width: 0; }
html.ops-navy .m2-mn b { font-size: 28px; line-height: 34px; font-weight: 700; letter-spacing: -0.01em; color: var(--ops-text-primary); }
html.ops-navy .m2-of { font-size: 13px; line-height: 18px; color: var(--ops-text-secondary); min-width: 0; }
html.ops-navy .m2-mn .m2-st { margin-left: auto; flex: none; }
html.ops-navy .m2-sub { margin: 2px 0 0; font-size: 12px; line-height: 16px; color: var(--ops-text-tertiary); }
html.ops-navy .m2-st { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; line-height: 18px; font-weight: 600; white-space: nowrap; }
html.ops-navy .m2-st i { width: 8px; height: 8px; border-radius: 2px; background: currentColor; }
html.ops-navy .m2-green { color: var(--ops-status-good); }
html.ops-navy .m2-amber { color: var(--ops-status-warn); }
html.ops-navy .m2-red { color: var(--ops-status-bad); }
html.ops-navy .m2-steel { color: var(--ops-text-tertiary); }
html.ops-navy .m2-prog { position: relative; height: 12px; margin-top: 16px; border-radius: 3px; background: var(--ops-bg-sunken); }
html.ops-navy .m2-prog i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 3px; background: var(--mcol); }
html.ops-navy .m2-prog u { position: absolute; top: -4px; bottom: -4px; width: 0; border-left: 2px dashed var(--ops-status-warn); }
html.ops-navy .m2-pl { display: flex; justify-content: space-between; margin: 6px 0 0; font-size: 12px; line-height: 16px; color: var(--ops-text-secondary); }

html.ops-navy .m2-rk { display: grid; grid-template-columns: minmax(0, 1fr) 24px 220px 72px 72px; column-gap: 16px; align-items: center; min-height: 56px; padding: 8px 16px; border-top: 1px solid var(--ops-line-row); }
html.ops-navy .m2-rkn { grid-column: 1; min-width: 0; }
html.ops-navy .m2-rkname { font-size: 14px; line-height: 20px; font-weight: 500; overflow-wrap: anywhere; }
html.ops-navy .m2-av { flex: none; display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--p); color: var(--ops-text-on-category); font-size: 12px; font-weight: 700; line-height: 1; }
html.ops-navy .m2-p-jon { --p: var(--ops-person-jon); }
html.ops-navy .m2-p-kendra { --p: var(--ops-person-kendra); }
html.ops-navy .m2-p-staff { --p: var(--ops-person-staff); }
html.ops-navy .m2-rkav { grid-column: 2; }
html.ops-navy .m2-rktr { grid-column: 3; }
html.ops-navy .m2-rkv { grid-column: 4; text-align: right; white-space: nowrap; font-size: 14px; line-height: 20px; color: var(--ops-text-tertiary); }
html.ops-navy .m2-rkv.m2-nonum { grid-column: 3 / 5; }
html.ops-navy .m2-rkst { grid-column: 5; text-align: right; font-size: 14px; line-height: 20px; font-weight: 600; white-space: nowrap; }

/* By program (revenue split by program line, under the Revenue chart). */
html.ops-navy .m2-pg .m2-ch { flex-wrap: wrap; row-gap: 8px; padding-top: 8px; padding-bottom: 8px; }
html.ops-navy .m2-pgsel { margin-left: auto; height: 36px; min-width: 176px; padding: 0 32px 0 12px; border: 1px solid var(--ops-line-strong); border-radius: 6px;
  background: var(--ops-bg-field) var(--ops-icon-chevron) no-repeat right 10px center; color: var(--ops-text-primary);
  font: 600 14px/20px var(--dp5-font, Inter, system-ui, sans-serif); appearance: none; cursor: pointer; }
html.ops-navy .m2-pgsel:hover { border-color: var(--ops-line-strong-hover); }
html.ops-navy .m2-pgsel:focus-visible { outline: 2px solid var(--ops-focus); outline-offset: 2px; }
html.ops-navy .m2-pgr { display: grid; grid-template-columns: minmax(0, 1.2fr) 112px minmax(160px, 1fr) 196px; column-gap: 16px; align-items: center;
  min-height: 44px; padding: 8px 16px; border-top: 1px solid var(--ops-line-row); font-size: 14px; line-height: 20px; }
html.ops-navy .m2-pgh, html.ops-navy .m2-pgh + .m2-pgr { border-top-color: var(--ops-line-default); }
html.ops-navy .m2-pgh { min-height: 32px; padding-top: 6px; padding-bottom: 6px; font-size: 13px; line-height: 18px; color: var(--ops-text-tertiary); }
html.ops-navy .m2-pgn { min-width: 0; font-weight: 500; color: var(--ops-text-primary); overflow-wrap: anywhere; }
html.ops-navy .m2-pgh .m2-pgn, html.ops-navy .m2-pgh .m2-pgv, html.ops-navy .m2-pgh .m2-pgc { font-weight: 400; color: var(--ops-text-tertiary); }
html.ops-navy .m2-pgv { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--ops-text-primary); }
html.ops-navy .m2-pgb { display: flex; align-items: center; gap: 12px; min-width: 0; }
html.ops-navy .m2-pgb > .m2-trk { flex: 1 1 auto; min-width: 48px; }
html.ops-navy .m2-pgs { flex: none; width: 48px; text-align: right; font-size: 13px; font-variant-numeric: tabular-nums; color: var(--ops-text-tertiary); }
html.ops-navy .m2-pgc { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
html.ops-navy .m2-pgt { font-weight: 600; border-top-color: var(--ops-line-strong); }
html.ops-navy .m2-pgt .m2-pgn { font-weight: 600; }
html.ops-navy .m2-pgt .m2-pgb { font-size: 13px; font-weight: 400; white-space: nowrap; }
html.ops-navy .m2-pgf { margin: 0; padding: 12px 16px 16px; border-top: 1px solid var(--ops-line-default); font-size: 13px; line-height: 18px; color: var(--ops-text-tertiary); }
@supports (appearance: base-select) {
  html.ops-navy select.m2-pgsel, html.ops-navy select.m2-pgsel::picker(select) { appearance: base-select; }
  html.ops-navy select.m2-pgsel { background-image: none; }
  html.ops-navy select.m2-pgsel::picker-icon { color: var(--ops-text-tertiary); }
  html.ops-navy select.m2-pgsel::picker(select) { margin-top: 4px; padding: 4px; max-height: 320px; border: 1px solid var(--ops-line-default); border-radius: 8px;
    background: var(--ops-bg-surface); color: var(--ops-text-primary); box-shadow: 0 12px 28px var(--ops-shadow-over); font: 500 14px/1.35 var(--dp5-font, Inter, system-ui, sans-serif); }
  html.ops-navy select.m2-pgsel option { min-height: 36px; padding: 0 10px; border-radius: 4px; color: var(--ops-text-primary); background-color: transparent; }
  html.ops-navy select.m2-pgsel option:hover, html.ops-navy select.m2-pgsel option:focus-visible { background-color: var(--ops-bg-surface-hover); }
  html.ops-navy select.m2-pgsel option:checked { font-weight: 600; }
}
@media (max-width: 699px) {
  html.ops-navy .m2-pgsel { flex: 1 0 100%; min-height: 44px; margin-left: 0; }
  html.ops-navy .m2-pgr { grid-template-columns: minmax(0, 1fr) 136px; row-gap: 6px; column-gap: 12px; padding: 10px 16px; }
  html.ops-navy .m2-pgh { display: none; }
  html.ops-navy .m2-pgn { grid-column: 1; grid-row: 1; }
  html.ops-navy .m2-pgv { grid-column: 2; grid-row: 1; }
  html.ops-navy .m2-pgb { grid-column: 1; grid-row: 2; }
  html.ops-navy .m2-pgc { grid-column: 2; grid-row: 2; font-size: 13px; }
  html.ops-navy .m2-pgt .m2-pgb { white-space: normal; }
}

html.ops-navy .m2-hr { display: flex; align-items: center; justify-content: flex-end; gap: 4px; flex: none; }
html.ops-navy .m2-ib, html.ops-navy .m2-grip { box-sizing: border-box; display: inline-grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 4px; background: transparent; color: var(--ops-text-secondary); cursor: pointer; }
html.ops-navy .is-edit .m2-ib, html.ops-navy .is-edit .m2-grip { background: var(--ops-bg-sunken); color: var(--ops-text-primary); }
html.ops-navy .m2-grip { cursor: grab; touch-action: none; }
html.ops-navy .m2-ib:hover, html.ops-navy .m2-grip:hover { background: var(--hover); color: var(--ops-text-primary); }
html.ops-navy .m2-tbm { display: none; }

html.ops-navy .m2-addcell { grid-column: 1 / -1; box-sizing: border-box; height: 64px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 0; border: 1px dashed var(--ops-status-info); border-radius: 8px; background: transparent; color: var(--ops-text-primary); font: 600 15px/22px var(--dp5-font, Inter, system-ui, sans-serif); cursor: pointer; }
html.ops-navy .m2-addcell:hover { background: var(--ops-status-info-wash); }

html.ops-navy .m2-move { display: none; gap: 8px; margin: auto 16px 16px; flex: none; }
html.ops-navy .m2-mv { min-height: 44px; padding: 0 12px; border: 1px solid var(--ops-line-strong); border-radius: 6px; background: var(--ops-btn-bg); color: var(--ops-text-primary); font: 600 13px/18px var(--dp5-font, Inter, system-ui, sans-serif); cursor: pointer; }
html.ops-navy .m2-mv:not(:disabled):hover { background: var(--ops-btn-bg-hover); }
html.ops-navy .m2-mv:disabled { opacity: .45; cursor: default; }

html.ops-navy .m2-addpop { padding: 0; }
html.ops-navy .m2-add { padding: 8px 12px 12px; max-height: min(70vh, 560px); overflow: auto; }
html.ops-navy .m2-add h4 { margin: 4px 0 8px; font: 600 14px/20px var(--dp5-font, Inter, system-ui, sans-serif); }
html.ops-navy .m2-ro { margin: 0 0 8px; font-size: 12px; line-height: 16px; color: var(--t2); }
html.ops-navy .m2-ar { padding: 10px 0; border-top: 1px solid var(--line); }
html.ops-navy .m2-ar-h { display: flex; align-items: center; gap: 8px; cursor: pointer; font-size: 14px; line-height: 20px; }
html.ops-navy .m2-ar-h input { margin: 0; width: 16px; height: 16px; accent-color: var(--ops-text-primary); }
html.ops-navy .m2-sw-lock { width: 12px; height: 12px; border-radius: 3px; flex: none; }
html.ops-navy .m2-ar p { margin: 4px 0 0 24px; font-size: 12px; line-height: 16px; color: var(--t2); }
html.ops-navy .m2-tf { display: flex; align-items: center; gap: 8px; margin: 8px 0 0 24px; }
html.ops-navy .m2-tf input { box-sizing: border-box; width: 88px; height: 32px; padding: 0 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--field); color: var(--t1); font: 600 14px/20px var(--dp5-font, Inter, system-ui, sans-serif); }
html.ops-navy .m2-tf input:focus { outline: none; box-shadow: inset 0 0 0 1.5px var(--ops-focus); }
html.ops-navy .m2-tf input:disabled { opacity: .5; }
html.ops-navy .m2-tf span { font-size: 12px; color: var(--t2); }

html.ops-navy .m2-tip { position: fixed; z-index: 95; width: max-content; max-width: 220px; padding: 8px 10px; border: 1px solid var(--ops-line-default); border-radius: 8px; background: var(--ops-bg-surface); box-shadow: 0 8px 24px var(--ops-shadow-over); font-size: 12px; line-height: 16px; color: var(--t1); pointer-events: none; font-variant-numeric: tabular-nums; }
html.ops-navy .m2-tip b, html.ops-navy .m2-tip span { display: block; }
html.ops-navy .m2-tip span { color: var(--t2); }

@media (max-width: 899px) {
  html.ops-navy .m2-nums { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1099px) {
  html.ops-navy .m2-grid > .m2-half { grid-column: span 12; }
  html.ops-navy .m2-chw { flex-wrap: wrap; row-gap: 0; }
  html.ops-navy .m2-chw .m2-lgw { order: 3; flex: 0 0 100%; margin-left: 0; padding-bottom: 12px; }
  html.ops-navy .m2-chw .m2-lgw + .m2-act, html.ops-navy .m2-chw .m2-lgw + .m2-hr { margin-left: auto; }
  html.ops-navy .m2-rk { grid-template-columns: 24px minmax(0, 1fr) 64px 68px; column-gap: 12px; row-gap: 8px; padding: 12px 16px; }
  html.ops-navy .m2-rkn { grid-column: 1 / -1; grid-row: 1; }
  html.ops-navy .m2-rkav { grid-column: 1; grid-row: 2; }
  html.ops-navy .m2-rktr { grid-column: 2; grid-row: 2; }
  html.ops-navy .m2-rkv { grid-column: 3; grid-row: 2; }
  html.ops-navy .m2-rkv.m2-nonum { grid-column: 2 / 4; text-align: left; }
  html.ops-navy .m2-rkst { grid-column: 4; grid-row: 2; }
}
@media (max-width: 799px) {
  html.ops-navy .is-edit .m2-move { display: flex; }
  html.ops-navy .m2-grip { display: none; }
}
@media (max-width: 699px) {
  html.ops-navy .m2-main { padding: 16px 16px 96px; }
  html.ops-navy .m2-stack, html.ops-navy .m2-nums, html.ops-navy .m2-grid { gap: 12px; }
  html.ops-navy .m2-pr { display: contents; }
  html.ops-navy .m2-seg { grid-column: 1 / -1; grid-row: 2; display: flex; margin-top: 16px; }
  html.ops-navy .m2-acts { grid-column: 1 / -1; grid-row: 3; justify-content: flex-end; gap: 8px; }
  html.ops-navy .m2-acts .m2-act { min-height: 44px; display: inline-flex; align-items: center; padding: 0 8px; }
  html.ops-navy .m2-tbm { display: none; }
  html.ops-navy .m2-sb { flex: 1; height: 44px; padding: 0 4px; }
  html.ops-navy .m2-ch > .m2-act { min-height: 44px; display: inline-flex; align-items: center; }
  html.ops-navy .m2-nc { padding: 12px; }
  html.ops-navy .m2-tg { font-size: 13px; }
}

html.ops-navy .shell.bd-shell.g-def { background: var(--g-def); }
html.ops-navy .shell.bd-shell.g-get { background: var(--g-get); }
html.ops-navy .shell.bd-shell.g-serve { background: var(--g-serve); }
html.ops-navy .shell.bd-shell.g-ops { background: var(--g-ops); }
html.ops-navy .shell.bd-shell.g-growth { background: var(--g-growth); }
html.ops-navy .shell.bd-shell.g-none { background: var(--g-none); }
html.ops-navy .shell.bd-shell.g-dusk { background: var(--g-dusk); }
html.ops-navy .shell.bd-shell.g-sea { background: var(--g-sea); }
html.ops-navy .shell.bd-shell #toolbar { height: auto; min-height: 48px; padding-top: 0; padding-bottom: 0; background: transparent; border-bottom: 0; }
html.ops-navy #view.bd-on { background: transparent; padding: 0; overflow: hidden; min-width: 0; }

html.ops-navy .bd-root { height: 100%; display: flex; flex-direction: column; min-height: 0; color: var(--t1); }
html.ops-navy .bd-body { flex: 1; min-height: 0; display: flex; flex-direction: column; }
html.ops-navy .bd-built, html.ops-navy .bd-empty { margin: 0; padding: 16px 24px; font-size: 15px; line-height: 22px; color: var(--t2); }
html.ops-navy .bd-built { color: var(--ops-text-on-gradient); }
html.ops-navy .bd-pop .bd-empty { padding: 8px 10px; }
html.ops-navy .bd-msg { margin: 48px auto; max-width: 420px; padding: 0 16px; text-align: center; font-size: 15px; line-height: 22px; color: var(--ops-text-on-gradient); }
html.ops-navy .bd-msg .sh-btn { margin-top: 8px; }

html.ops-navy #toolbar .sh-tbid.bd-tbid { flex: 0 1 auto; min-width: 0; }
html.ops-navy #toolbar .bd-facts { flex: none; color: var(--ops-text-on-gradient); text-shadow: 0 1px 2px var(--ops-board-shade); }
html.ops-navy #toolbar .bd-name { flex: 0 1 auto;min-width: 0; color: var(--ops-text-on-gradient); text-shadow: 0 1px 2px var(--ops-board-shade); }
html.ops-navy .bd-root .bd-full { flex: none; margin: 0; padding: 0 var(--sh-pad) 8px; font: 400 15px/22px var(--dp5-font, Inter, system-ui, sans-serif); color: var(--ops-text-on-gradient); text-shadow: 0 1px 2px var(--ops-board-shade); overflow-wrap: anywhere; }
html.ops-navy #toolbar .bd-star[aria-pressed="true"] { color: var(--ops-on-gradient-warn); }
html.ops-navy #toolbar .bd-star[aria-pressed="true"] svg { fill: currentColor; }
html.ops-navy #toolbar [data-bd="filter"][aria-pressed="true"] { background: var(--ops-board-shade); color: var(--ops-text-on-gradient); }
html.ops-navy #toolbar .sh-ib { color: var(--t1); }
html.ops-navy #toolbar .sh-ib:hover { background: var(--ops-hover-wash); }
html.ops-navy #toolbar .bd-tabs { display: flex; gap: 2px; margin: 0 8px; flex: none; }
html.ops-navy #toolbar .bd-tab { height: 48px; padding: 0 12px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; color: var(--ops-text-on-gradient); font: 600 15px/20px var(--dp5-font, Inter, system-ui, sans-serif); cursor: pointer; }
html.ops-navy #toolbar .bd-tab:hover { background: var(--ops-board-shade); color: var(--ops-text-on-gradient); }
html.ops-navy #toolbar .bd-tab[aria-selected="true"] { color: var(--ops-text-on-gradient); border-bottom-color: var(--ops-text-on-gradient); }
html.ops-navy #toolbar .bd-tab:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }
html.ops-navy #toolbar .bd-avs { display: flex; margin: 0 4px 0 8px; flex: none; }
html.ops-navy #toolbar .bd-avs .bd-av { margin-left: -4px; background: var(--ops-bg-surface); }

html.ops-navy .bd-av { display: inline-grid; place-items: center; box-sizing: border-box; flex: none; width: 24px; height: 24px; border-radius: 50%; background: var(--raised); color: var(--t1); font: 600 11px/1 var(--dp5-font, Inter, system-ui, sans-serif); box-shadow: inset 0 0 0 2px var(--rc); }
html.ops-navy .bd-av.s20 { width: 20px; height: 20px; font-size: 10px; box-shadow: inset 0 0 0 1.5px var(--rc); }
html.ops-navy .bd-av.Jon { --rc: var(--jon); }
html.ops-navy .bd-av.Kendra { --rc: var(--kendra); }
html.ops-navy .bd-av.Staff { --rc: var(--staff); }
html.ops-navy .bd-i { flex: none; }

html.ops-navy .bd-root .board { flex: 1; min-height: 0; overflow-x: auto; overflow-y: hidden; }
html.ops-navy .bd-root .lists { display: flex; gap: 12px; align-items: flex-start; height: 100%; box-sizing: border-box; padding: 8px 24px 72px; width: max-content; min-width: 100%; }
html.ops-navy .bd-root .lst { position: relative; box-sizing: border-box; width: 288px; flex: none; display: flex; flex-direction: column; max-height: 100%; background: var(--ops-bg-plane); border: 1px solid var(--ops-line-default); border-top: 0; border-radius: 8px; --cc: var(--c-none); }
html.ops-navy .bd-root .lst.k-get { --cc: var(--c-get); --ci: var(--ops-text-on-category); }
html.ops-navy .bd-root .lst.k-serve { --cc: var(--c-serve); --ci: var(--ops-text-on-category); }
html.ops-navy .bd-root .lst.k-ops { --cc: var(--c-ops); --ci: var(--ops-text-on-category); }
html.ops-navy .bd-root .lst.k-growth, html.ops-navy .bd-root .lst.k-grow { --cc: var(--c-growth); --ci: var(--ops-text-on-category); }
html.ops-navy .bd-root .lst::before { content: ""; flex: none; height: 4px; border-radius: 8px 8px 0 0; background: var(--cc); margin: 0 -1px; }
html.ops-navy .bd-root .lh { display: flex; align-items: center; gap: 6px; flex: none; min-height: 44px; padding: 0 6px 0 14px; }
html.ops-navy .bd-root .lh .ln { flex: 0 1 auto; min-width: 0; padding: 8px 0; font: 600 15px/22px var(--dp5-font, Inter, system-ui, sans-serif); overflow-wrap: anywhere; }
html.ops-navy .bd-root .lh .ln-in { flex: 1; min-width: 0; height: 32px; box-sizing: border-box; padding: 0 8px; border: 0; border-radius: 4px; background: var(--field); color: var(--t1); font: 600 15px/22px var(--dp5-font, Inter, system-ui, sans-serif); box-shadow: inset 0 0 0 1.5px var(--t1); outline: none; }
html.ops-navy .bd-root .lh .lc { font-size: 13px; line-height: 18px; font-weight: 600; color: var(--t2); font-variant-numeric: tabular-nums; }
html.ops-navy .bd-root .lh .sp { flex: 1; }
html.ops-navy .bd-root .lbody { overflow-y: auto; overflow-x: hidden; padding: 0 8px; display: flex; flex-direction: column; gap: 8px; min-height: 8px; flex: 0 1 auto; }
html.ops-navy .bd-root .lbody:empty { min-height: 4px; }

html.ops-navy .bd-root .cd { position: relative; display: block; box-sizing: border-box; width: 100%; flex: none; padding: 10px; background: var(--card); border: 1px solid transparent; border-radius: 8px; color: var(--t1); text-align: left; cursor: pointer; --cc: var(--c-none); }
html.ops-navy .bd-root .cd:hover { background: var(--ops-plane-item-hover); border-color: var(--ops-plane-item-hover-line); }
html.ops-navy .bd-root .cd:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px var(--ops-focus); }
html.ops-navy .bd-root .cd.fade { opacity: .35; }
html.ops-navy .bd-root .cd .cover { height: 48px; margin: -10px -10px 8px; border-radius: 7px 7px 0 0; }
html.ops-navy .bd-root .cd .lbs { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 6px; }
html.ops-navy .bd-root .cd .cn { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 15px; line-height: 20px; overflow-wrap: anywhere; }
html.ops-navy .bd-root .cd.done .cn { color: var(--t2); text-decoration: line-through; }
html.ops-navy .bd-chip { display: inline-flex; align-items: center; box-sizing: border-box; height: 16px; padding: 0 6px; border-radius: 3px; background: var(--cc); color: var(--ops-text-on-category); font-size: 11px; line-height: 16px; font-weight: 600; white-space: nowrap; max-width: 100%; overflow: hidden; }
html.ops-navy .bd-root .cd .bdg { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 8px; min-height: 24px; margin-top: 6px; font-size: 12px; line-height: 16px; font-weight: 600; color: var(--t2); }
html.ops-navy .bd-root .cd .bdg .b { display: inline-flex; align-items: center; gap: 3px; height: 20px; padding: 0 4px; border-radius: 3px; font-variant-numeric: tabular-nums; }
html.ops-navy .bd-root .cd .bdg .dueC { background: var(--ops-bg-sunken); color: var(--t1); }
html.ops-navy .bd-root .cd .bdg .dueC.today { background: var(--amber); color: var(--ops-text-on-status); }
html.ops-navy .bd-root .cd .bdg .dueC.late { background: var(--red); color: var(--ops-text-on-status); }
html.ops-navy .bd-root .cd .bdg .dueC.ok { background: var(--ok); color: var(--ops-text-on-status); }
html.ops-navy .bd-root .cd .bdg .mb { margin-left: auto; display: flex; }
html.ops-navy .bd-root .cd .bdg .wo { white-space: nowrap; }
html.ops-navy .bd-root .cd .bdg .bd-arch { flex: none; height: 20px; padding: 0 4px; border: 0; border-radius: 4px; background: none; color: var(--ops-text-secondary, var(--t2)); font: 600 12px/16px var(--dp5-font, Inter, system-ui, sans-serif); cursor: pointer; text-decoration: underline; }
html.ops-navy .bd-root .cd .bdg .bd-arch:hover { color: var(--ops-text-primary, var(--t1)); }
html.ops-navy .bd-root .cd .bdg .bd-arch:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px var(--ops-focus, var(--t1)); }
html.ops-navy .bd-root .bd-done { flex: none; display: flex; flex-direction: column; gap: 8px; }
html.ops-navy .bd-root .bd-done > summary { box-sizing: border-box; display: flex; align-items: center; height: 32px; padding: 0 6px; border-radius: 6px; font: 600 13px/18px var(--dp5-font, Inter, system-ui, sans-serif); color: var(--ops-text-secondary, var(--t2)); cursor: pointer; list-style: none; font-variant-numeric: tabular-nums; }
html.ops-navy .bd-root .bd-done > summary::-webkit-details-marker { display: none; }
html.ops-navy .bd-root .bd-done > summary:hover { background: var(--ops-hover-wash, var(--hover)); color: var(--ops-text-primary, var(--t1)); }
html.ops-navy .bd-root .bd-done > summary:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px var(--ops-focus, var(--t1)); }
html.ops-navy .bd-root .cd .bdg .mb .bd-av { margin-left: -4px; background: var(--card); }
html.ops-navy .bd-root .cd:hover .bdg .mb .bd-av { background: var(--cardh); }

html.ops-navy .bd-root .addc { display: flex; align-items: center; gap: 6px; box-sizing: border-box; flex: none; width: calc(100% - 16px); margin: 8px; padding: 9px 8px; border: 0; border-radius: 8px; background: none; color: var(--ops-text-secondary); font: 400 15px/22px var(--dp5-font, Inter, system-ui, sans-serif); text-align: left; cursor: pointer; }
html.ops-navy .bd-root .addc:hover { background: var(--ops-hover-wash); color: var(--t1); }
html.ops-navy .bd-root .addc:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }
html.ops-navy .bd-root .comp { flex: none; padding: 8px; }
html.ops-navy .bd-root .comp textarea { display: block; box-sizing: border-box; width: 100%; height: 56px; min-height: 56px; resize: none; padding: 8px; border: 1px solid var(--ops-line-strong); border-radius: 8px; background: var(--card); color: var(--t1); font: 400 15px/20px var(--dp5-font, Inter, system-ui, sans-serif); outline: none; }
html.ops-navy .bd-root .comp textarea:focus { box-shadow: inset 0 0 0 1.5px var(--t1); }
html.ops-navy .bd-root .cr { display: flex; align-items: center; gap: 4px; margin-top: 8px; }
html.ops-navy .bd-root .addlw { flex: none; width: 288px; }
html.ops-navy .bd-root .addl { display: flex; align-items: center; gap: 6px; box-sizing: border-box; width: 288px; height: 44px; padding: 0 14px; border: 0; border-radius: 8px; background: var(--ops-board-shade); color: var(--ops-text-on-gradient); font: 600 15px/22px var(--dp5-font, Inter, system-ui, sans-serif); text-align: left; cursor: pointer; }
html.ops-navy .bd-root .addl:hover { background: var(--ops-scrim); }
html.ops-navy .bd-root .addl:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }
html.ops-navy .bd-root .addl.open { display: block; height: auto; padding: 8px; background: var(--list); border: 1px solid var(--ops-line-default); cursor: default; }
html.ops-navy .bd-root .addl.open:hover { background: var(--list); }
html.ops-navy .bd-root .addl.open input { display: block; box-sizing: border-box; width: 100%; height: 36px; padding: 0 8px; border: 1px solid var(--ops-line-strong); border-radius: 6px; background: var(--card); color: var(--t1); font: 400 15px/22px var(--dp5-font, Inter, system-ui, sans-serif); outline: none; }
html.ops-navy .bd-root .addl.open input:focus { box-shadow: inset 0 0 0 1.5px var(--t1); }

html.ops-navy .bd-root .lst.col { width: 40px; height: 220px; max-height: 100%; cursor: pointer; }
html.ops-navy .bd-root .lst.col .rail { display: flex; flex-direction: column; align-items: center; gap: 10px; width: 100%; height: 100%; padding: 12px 0; border: 0; border-radius: 0 0 8px 8px; background: none; color: var(--t1); cursor: pointer; font: 600 15px/22px var(--dp5-font, Inter, system-ui, sans-serif); }
html.ops-navy .bd-root .lst.col .rail:hover { background: var(--ops-hover-wash); }
html.ops-navy .bd-root .lst.col .rail:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }
html.ops-navy .bd-root .lst.col .lc { font-size: 13px; line-height: 18px; color: var(--t2); }
html.ops-navy .bd-root .lst.col .rn { writing-mode: vertical-rl; overflow: hidden; max-height: 160px; }

html.ops-navy .bd-vhost { flex: 1; min-height: 0; overflow: auto; padding-bottom: 72px; box-sizing: border-box; }

html.ops-navy .sh-pop .sh-ph, html.ops-navy .bd-ph { margin: 0; padding: 8px 10px 4px; font: 600 13px/18px var(--dp5-font, Inter, system-ui, sans-serif); color: var(--t3); }
html.ops-navy .sh-pop .sh-hr { margin: 6px 0; border: 0; border-top: 1px solid var(--ops-line-default); }
html.ops-navy .sh-pop .sh-ck { margin-left: auto; display: inline-flex; color: var(--green); }
html.ops-navy .sh-pop .sh-pi[disabled] { opacity: .4; cursor: default; }
html.ops-navy .sh-pop .sh-pi[disabled]:hover { background: none; }
html.ops-navy .bd-dot { width: 12px; height: 12px; border-radius: 3px; background: var(--cc); flex: none; }
html.ops-navy .bd-swg { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; padding: 4px 6px 6px; }
html.ops-navy .bd-sw { display: flex; flex-direction: column; gap: 4px; align-items: stretch; padding: 0; border: 0; background: none; color: var(--t2); font: 400 12px/16px var(--dp5-font, Inter, system-ui, sans-serif); text-align: left; cursor: pointer; }
html.ops-navy .bd-sw:hover { color: var(--t1); }
html.ops-navy .bd-sw:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }
html.ops-navy .bd-sw .bd-th { display: grid; place-items: center; width: 100%; height: 40px; color: var(--t1); }
html.ops-navy .bd-sw[aria-pressed="true"] { color: var(--t1); font-weight: 600; }
html.ops-navy .bd-th { flex: none; width: 48px; height: 28px; border-radius: 4px; border: 1px solid var(--ops-line-strong); box-sizing: border-box; }
html.ops-navy .bd-th.g-def { background: var(--g-def); }
html.ops-navy .bd-th.g-get { background: var(--g-get); }
html.ops-navy .bd-th.g-serve { background: var(--g-serve); }
html.ops-navy .bd-th.g-ops { background: var(--g-ops); }
html.ops-navy .bd-th.g-growth { background: var(--g-growth); }
html.ops-navy .bd-th.g-none { background: var(--g-none); }
html.ops-navy .bd-th.g-dusk { background: var(--g-dusk); }
html.ops-navy .bd-th.g-sea { background: var(--g-sea); }
html.ops-navy .bd-boards { padding: 8px; }
html.ops-navy .bd-boards .bd-q { display: block; box-sizing: border-box; width: 100%; height: 36px; margin-bottom: 4px; padding: 0 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--field); color: var(--t1); font: 400 15px/22px var(--dp5-font, Inter, system-ui, sans-serif); outline: none; }
html.ops-navy .bd-boards .bd-q:focus { box-shadow: inset 0 0 0 1.5px var(--t1); }
html.ops-navy .bd-bl { height: min(360px, 55vh); overflow-y: auto; }
html.ops-navy .bd-br { display: flex; align-items: center; gap: 10px; box-sizing: border-box; width: 100%; min-height: 44px; padding: 8px 10px; border: 0; border-radius: 4px; background: none; color: var(--t1); font: 400 15px/20px var(--dp5-font, Inter, system-ui, sans-serif); text-align: left; cursor: pointer; }
html.ops-navy .bd-br:hover { background: var(--ops-hover-wash); }
html.ops-navy .bd-br:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }
html.ops-navy .bd-bn { min-width: 0; overflow-wrap: anywhere; }

html.ops-navy .bd-arow { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
html.ops-navy .bd-an { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
html.ops-navy .bd-at { font-size: 15px; line-height: 20px; overflow-wrap: anywhere; }
html.ops-navy .bd-as { font-size: 13px; line-height: 18px; color: var(--t3); }

html.ops-navy .bd-lrow { gap: 4px; padding: 2px 0; }
html.ops-navy .bd-ldot, html.ops-navy .bd-cs { display: grid; place-items: center; flex: none; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 6px; background: none; cursor: pointer; }
html.ops-navy .bd-ldot:hover, html.ops-navy .bd-cs:hover { background: var(--ops-hover-wash); }
html.ops-navy .bd-ldot:focus-visible, html.ops-navy .bd-cs:focus-visible, html.ops-navy .bd-lname:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }
html.ops-navy .bd-ldot .bd-dot, html.ops-navy .bd-cs .bd-dot { width: 20px; height: 20px; }
html.ops-navy .bd-cs[aria-pressed="true"] .bd-dot { box-shadow: 0 0 0 2px var(--fr-side), 0 0 0 3.5px var(--t1); }
html.ops-navy .bd-lname { flex: 1; min-width: 0; box-sizing: border-box; min-height: 36px; padding: 6px 8px; border: 0; border-radius: 6px; background: none; color: var(--t1); font: 400 15px/22px var(--dp5-font, Inter, system-ui, sans-serif); text-align: left; overflow-wrap: anywhere; cursor: text; }
html.ops-navy .bd-lname:hover { background: var(--ops-hover-wash); }
html.ops-navy .bd-lx { flex: none; width: 36px; height: 36px; }
html.ops-navy .bd-linp { display: block; flex: 1; min-width: 0; box-sizing: border-box; width: 100%; height: 36px; padding: 0 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--field); color: var(--t1); font: 400 15px/22px var(--dp5-font, Inter, system-ui, sans-serif); outline: none; }
html.ops-navy .bd-linp:focus { box-shadow: inset 0 0 0 1.5px var(--t1); }
html.ops-navy .bd-linp:disabled { opacity: .4; }
html.ops-navy .bd-ladd { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 16px 0 0 8px; }
html.ops-navy .bd-ladd .bd-linp { flex: none; }
html.ops-navy .bd-ladd .sh-ph { padding: 0; }
html.ops-navy .bd-ladd .bd-as { margin: 0; }
html.ops-navy .bd-ladd .sh-btn[disabled] { opacity: .4; cursor: default; }
html.ops-navy .bd-lsw { display: flex; flex-wrap: wrap; gap: 4px; }
html.ops-navy .bd-ladd .bd-lsw, html.ops-navy .sh-pop .bd-lsw { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 0; width: 100%; max-width: 360px; box-sizing: border-box; }
html.ops-navy .bd-ladd .bd-lsw .bd-cs, html.ops-navy .sh-pop .bd-lsw .bd-cs { width: 100%; }
html.ops-navy .sh-pop .bd-lsw { padding: 4px 6px 6px; }

@media (max-width: 1439px) {
  html.ops-navy .bd-ldot, html.ops-navy .bd-cs, html.ops-navy .bd-lx { width: 40px; height: 40px; }
  html.ops-navy .bd-lname { min-height: 40px; padding: 9px 8px; }
  html.ops-navy .bd-linp, html.ops-navy .bd-ladd .sh-btn { height: 40px; }
  html.ops-navy .bd-root .lists { gap: 8px; padding: 8px 16px 140px; scroll-snap-type: x mandatory; scroll-padding: 0 16px; }
  html.ops-navy .bd-root .lst { width: calc(100vw - 32px); scroll-snap-align: center; }
  html.ops-navy .bd-root .lst.col { width: 40px; }
  html.ops-navy .bd-root .addlw, html.ops-navy .bd-root .addl { width: calc(100vw - 32px); scroll-snap-align: center; }
  html.ops-navy #toolbar .bd-tabs { display: none; }
  html.ops-navy #toolbar .sh-tbid.bd-tbid { flex: 1 1 0; }
  html.ops-navy #toolbar .bd-avs, html.ops-navy #toolbar .sh-tb-sp, html.ops-navy #toolbar [data-sh] { display: none; }
  html.ops-navy .sh-pop.bd-pop { left: 0 !important; right: 0; bottom: 0; top: auto !important; width: 100% !important; max-width: none; max-height: 70vh; border-radius: 8px 8px 0 0; padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px)); }
}
html.ops-navy #toolbar .bd-star[aria-pressed="true"] { background: transparent; }
html.ops-navy #toolbar .bd-star[aria-pressed="true"]:hover { background: var(--ops-board-shade); }

@media (max-width: 767px) {
  html.ops-navy.sh-tb-on .shell.bd-shell #toolbar { padding: 16px 8px 12px 16px; }
  html.ops-navy.sh-tb-on .shell.bd-shell #toolbar .sh-ib { margin-top: -3px; }
}

html.ops-navy .bd-root .cd .bd-pen { position: absolute; top: 6px; right: 6px; z-index: 2; display: none; place-items: center; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 4px; background: var(--cardh); color: var(--t1); cursor: pointer; }
html.ops-navy .bd-root .cd:hover .bd-pen, html.ops-navy .bd-root .cd:focus-within .bd-pen, html.ops-navy .bd-root .cd .bd-pen[aria-expanded="true"] { display: grid; }
html.ops-navy .bd-root .cd .bd-pen:hover { background: var(--ops-bg-surface-press); }
html.ops-navy .bd-root .cd .bd-pen:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }

html.ops-navy.bd-dragging, html.ops-navy.bd-dragging * { user-select: none; -webkit-user-select: none; }
html.ops-navy.bd-dragging .bd-root .cd, html.ops-navy.bd-dragging .bd-root .lh { cursor: grabbing; }
html.ops-navy .bd-root .cd.hole { background: var(--ops-scrim); border-color: transparent; pointer-events: none; }
html.ops-navy .bd-root .cd.hole > * { visibility: hidden; }
html.ops-navy .bd-root .cd.ghost { position: fixed; z-index: 70; margin: 0; pointer-events: none; transform: rotate(2deg); opacity: .92; background: var(--cardh); box-shadow: var(--over); }
html.ops-navy .bd-root .lst.ghostl { position: fixed; z-index: 70; margin: 0; pointer-events: none; transform: rotate(2deg); opacity: .97; box-shadow: var(--over); }
html.ops-navy .bd-root .lst.drag-src { background: var(--ops-scrim); border-color: transparent; }
html.ops-navy .bd-root .lst.drag-src > * { visibility: hidden; }
html.ops-navy .bd-root .lst.drag-src::before { background: transparent; }
html.ops-navy .bd-root .bd-edge { position: fixed; z-index: 69; width: 2px; border-radius: 1px; background: var(--ops-status-info); pointer-events: none; }
html.ops-navy .bd-root .lh { cursor: grab; }
html.ops-navy .bd-root .lh button { cursor: pointer; }
html.ops-navy .bd-root .lh .ln-in { cursor: text; }

html.ops-navy .bd-qe .qe-t { padding: 4px 10px 8px; font-size: 13px; line-height: 18px; color: var(--t3); overflow-wrap: anywhere; }
html.ops-navy .bd-qe .qe-nx { margin-left: auto; color: var(--t3); }
html.ops-navy .bd-qe .qe-back { color: var(--t2); gap: 6px; font-weight: 600; }
html.ops-navy .bd-qe .qe-ln { min-width: 0; overflow-wrap: anywhere; }
html.ops-navy .bd-qe .qe-lb { padding: 4px 6px; }
html.ops-navy .bd-qe .qe-lb .bd-chip { flex: 1; min-width: 0; height: 28px; padding: 0 10px; border-radius: 4px; font-size: 13px; line-height: 28px; white-space: normal; overflow-wrap: anywhere; }
html.ops-navy .bd-qe .qe-lb .sh-ck { color: var(--t1); }
html.ops-navy .bd-qe .qe-f { display: flex; flex-direction: column; gap: 4px; padding: 6px 10px; font-size: 13px; line-height: 18px; color: var(--t3); }
html.ops-navy .bd-qe .qe-f input { box-sizing: border-box; width: 100%; height: 36px; padding: 0 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--field); color: var(--t1); font: 400 15px/22px var(--dp5-font, Inter, system-ui, sans-serif); color-scheme: var(--ops-color-scheme); }
html.ops-navy .bd-qe .qe-f input:focus { outline: none; box-shadow: inset 0 0 0 1.5px var(--t1); }
html.ops-navy .bd-qe .bd-av.s20 { background: var(--raised); }

@media (max-width: 1439px) {
  html.ops-navy .bd-root .cd .bd-pen { display: grid; }
  html.ops-navy .bd-root .cd .cn, html.ops-navy .bd-root .cd .lbs { padding-right: 30px; }
  html.ops-navy .bd-root .lh { cursor: default; }
  html.ops-navy .bd-qe .qe-f input { font-size: 16px; }
}
.qe-sws { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 8px 10px 10px; }
.qe-sw { height: 32px; border: 0; border-radius: 6px; background: var(--sw); color: var(--ops-text-on-category); display: grid; place-items: center; cursor: pointer; }
.qe-sw:hover { filter: brightness(1.12); }
.qe-sw:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }

html.ops-navy .bv { display: flex; flex-direction: column; height: 100%; min-height: 0; box-sizing: border-box; padding: 0 24px 24px; color: var(--t1); font-size: 15px; line-height: 22px; }
html.ops-navy .bv * { box-sizing: border-box; }
html.ops-navy .bv button { font-family: inherit; color: inherit; }
html.ops-navy .bv-scroll { flex: 1 1 auto; min-height: 0; overflow: auto; }
html.ops-navy .bv-empty { padding: 24px; color: var(--t2); font-size: 15px; text-align: center; }

html.ops-navy .bv-table { width: 100%; min-width: 760px; border-collapse: separate; border-spacing: 0; background: var(--ops-bg-plane); border: 1px solid var(--edge); border-radius: 8px; }
html.ops-navy .bv-table th { position: sticky; top: 0; z-index: 2; background: var(--ops-bg-plane); text-align: left; font-size: 12px; line-height: 16px; font-weight: 600; color: var(--t3); padding: 0 12px; height: 40px; border-bottom: 1px solid var(--line); white-space: nowrap; }
html.ops-navy .bv-table th:first-child { border-top-left-radius: 8px; }
html.ops-navy .bv-table th:last-child { border-top-right-radius: 8px; }
html.ops-navy .bv-sort { display: inline-flex; align-items: center; gap: 4px; min-height: 28px; padding: 0; border: 0; background: transparent; font-size: 12px; font-weight: 600; cursor: pointer; }
html.ops-navy .bv-sort:hover { color: var(--t1); }
html.ops-navy .bv-sort:focus-visible, html.ops-navy .bv-row:focus-visible, html.ops-navy .bv-btn:focus-visible, html.ops-navy .bv-seg button:focus-visible, html.ops-navy .bv-evn:focus-visible, html.ops-navy .bv-more:focus-visible, html.ops-navy .bv-cnt:focus-visible, html.ops-navy .bv-tbtn:focus-visible, html.ops-navy .bv-undc:focus-visible, html.ops-navy .bv-cb:focus-visible { outline: none; box-shadow: inset 0 0 0 1.5px currentColor; }
html.ops-navy .bv-arrow { display: inline-block; min-width: 10px; }
html.ops-navy .bv-table td { padding: 10px 12px; vertical-align: middle; border-bottom: 1px solid var(--ops-line-row); color: var(--t2); font-size: 14px; line-height: 20px; }
html.ops-navy .bv-row { cursor: pointer; }
html.ops-navy .bv-row:hover td { background: var(--ops-hover-wash); }
html.ops-navy .bv-row:focus-visible { box-shadow: inset 0 0 0 1.5px var(--ops-focus); }
html.ops-navy .bv-table .bv-nm { color: var(--t1); font-size: 15px; line-height: 22px; font-weight: 500; min-width: 220px; overflow-wrap: anywhere; }
html.ops-navy .bv-done .bv-nm { color: var(--t2); text-decoration: line-through; }
html.ops-navy .bv-dt { white-space: nowrap; font-variant-numeric: tabular-nums; }
html.ops-navy td.bv-late { color: var(--ops-status-bad); font-weight: 600; }
html.ops-navy .bv-none { color: var(--t3); }
html.ops-navy .bv-c-chk { font-variant-numeric: tabular-nums; white-space: nowrap; }
html.ops-navy .bv-chip { display: inline-flex; align-items: center; min-height: 20px; margin: 0 4px 2px 0; padding: 0 8px; border-radius: 4px; background: var(--c-none); color: var(--ops-text-on-category); font-size: 12px; line-height: 16px; font-weight: 600; }
html.ops-navy .bv-c-mem { white-space: nowrap; }
html.ops-navy .bv-av { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; margin-right: 4px; border-radius: 50%; font-size: 12px; font-weight: 700; color: var(--ops-text-on-category); background: var(--staff); box-shadow: 0 0 0 2px var(--staff); border: 2px solid var(--ops-bg-plane); box-sizing: border-box; }
html.ops-navy .bv-av-jon { background: var(--jon); box-shadow: 0 0 0 1.5px var(--jon); }
html.ops-navy .bv-av-kendra { background: var(--kendra); box-shadow: 0 0 0 1.5px var(--kendra); }
html.ops-navy .bv-av-staff { background: var(--staff); box-shadow: 0 0 0 1.5px var(--staff); }
html.ops-navy .bv-st { font-size: 13px; font-weight: 600; white-space: nowrap; }
html.ops-navy .bv-st.st-green { color: var(--ok); }
html.ops-navy .bv-st.st-red { color: var(--ops-status-bad); }
html.ops-navy .bv-st.st-amber { color: var(--amber); }
html.ops-navy .bv-st.st-steel { color: var(--t2); }
html.ops-navy .bv-ph { display: none; }

html.ops-navy .bv-calendar { padding-bottom: 0; }
html.ops-navy .bv-bar { flex: none; display: flex; align-items: center; gap: 8px; height: 40px; margin-bottom: 8px; }
html.ops-navy .bv-btn { min-width: 32px; height: 32px; padding: 0 12px; border: 1px solid var(--edge); border-radius: 4px; background: var(--ops-bg-surface); font-size: 14px; font-weight: 600; cursor: pointer; }
html.ops-navy .bv-btn:hover { background: var(--cardh); }
html.ops-navy .bv-title { margin: 0 8px; font-size: 18px; line-height: 24px; font-weight: 600; flex: 1 1 auto; min-width: 0; color: var(--ops-text-on-gradient); }
html.ops-navy .bv-seg { display: inline-flex; flex: none; padding: 2px; border-radius: 4px; background: var(--ops-bg-surface); border: 1px solid var(--edge); }
html.ops-navy .bv-seg button { height: 28px; padding: 0 12px; border: 0; border-radius: 4px; background: transparent; font-size: 13px; font-weight: 600; cursor: pointer; color: var(--t2); }
html.ops-navy .bv-seg button:hover { color: var(--t1); }
html.ops-navy .bv-seg button.on { background: var(--ops-selected-bg); color: var(--ops-selected-text); box-shadow: none; }

html.ops-navy .bv-cal { flex: 1 1 auto; min-height: 0; overflow: auto; display: flex; flex-direction: column; background: var(--ops-bg-plane); border: 1px solid var(--edge); border-radius: 8px; }
html.ops-navy .bv-dhs { flex: none; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); position: sticky; top: 0; z-index: 2; background: var(--ops-bg-plane); border-bottom: 1px solid var(--line); }
html.ops-navy .bv-dh { padding: 0 8px; height: 32px; line-height: 32px; font-size: 12px; font-weight: 600; color: var(--t3); }
html.ops-navy .bv-grid { flex: 1 1 auto; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); grid-auto-rows: minmax(112px, 1fr); }
html.ops-navy .bv-cal-week .bv-grid { grid-auto-rows: minmax(260px, 1fr); }
html.ops-navy .bv-day { min-width: 0; padding: 4px; border-right: 1px solid var(--ops-line-default); border-bottom: 1px solid var(--ops-line-default); }
html.ops-navy .bv-day:nth-child(7n) { border-right: 0; }
html.ops-navy .bv-out { background: repeating-linear-gradient(135deg, var(--ops-hover-wash) 0 6px, transparent 6px 12px); }
html.ops-navy .bv-out .bv-dn { color: var(--t3); }
html.ops-navy .bv-today { box-shadow: inset 0 0 0 1.5px var(--t1); }
html.ops-navy .bv-over { background: var(--ops-status-info-wash); }
html.ops-navy .bv-dn { height: 22px; padding: 0 4px; font-size: 13px; line-height: 22px; font-weight: 600; color: var(--t2); font-variant-numeric: tabular-nums; }
html.ops-navy .bv-today .bv-dn { color: var(--t1); }
html.ops-navy .bv-ev { display: flex; align-items: center; gap: 4px; min-height: 22px; margin-bottom: 2px; padding: 0 4px; border-radius: 4px; background: var(--card); cursor: grab; }
html.ops-navy .bv-ev:hover { background: var(--cardh); }
html.ops-navy .bv-ev.bv-late { box-shadow: inset 2px 0 0 var(--red); }
html.ops-navy .bv-evn { flex: 1 1 auto; min-width: 0; padding: 0; border: 0; background: transparent; text-align: left; font-size: 13px; line-height: 18px; cursor: pointer; overflow-wrap: anywhere; }
html.ops-navy .bv-done .bv-evn { color: var(--t2); text-decoration: line-through; }
html.ops-navy .bv-evm { flex: none; display: inline-flex; }
html.ops-navy .bv-evm .bv-av { width: 16px; height: 16px; margin: 0 0 0 2px; font-size: 9px; border-width: 1px; }
html.ops-navy .bv-cb { flex: none; position: relative; width: 16px; height: 16px; padding: 0; display: inline-flex; align-items: center; justify-content: center; border: 1.5px solid var(--t3); border-radius: 4px; background: transparent; color: var(--ops-text-on-status); cursor: pointer; }
html.ops-navy .bv-cb::after { content: ""; position: absolute; inset: -6px; }
html.ops-navy .bv-cb.on { background: var(--green); border-color: var(--green); }
html.ops-navy .bv-more { display: block; width: 100%; min-height: 22px; padding: 0 4px; border: 0; border-radius: 4px; background: transparent; text-align: left; font-size: 12px; font-weight: 600; color: var(--t2); cursor: pointer; }
html.ops-navy .bv-cnt { display: none; }
html.ops-navy .bv-more:hover { background: var(--hover); color: var(--t1); }

html.ops-navy .bv-pop { padding: 8px; max-height: 320px; overflow: auto; }
html.ops-navy .bv-poph { padding: 0 4px 6px; font-size: 13px; font-weight: 600; color: var(--t2); }

html.ops-navy .bv-timeline .bv-scroll { padding-bottom: 8px; }
html.ops-navy .bv-tl { position: relative; min-width: calc(100% - 262px); padding-right: 260px; background: var(--ops-bg-plane); border: 1px solid var(--edge); border-radius: 8px; box-sizing: content-box; }
html.ops-navy .bv-wks { display: flex; position: sticky; top: 0; z-index: 3; height: 32px; margin-right: -260px; background: var(--ops-bg-plane); border-bottom: 1px solid var(--line); border-radius: 8px 8px 0 0; }
html.ops-navy .bv-wk { flex: none; width: 120px; padding: 0 8px; line-height: 32px; font-size: 12px; font-weight: 600; color: var(--t3); border-right: 1px solid var(--ops-line-default); font-variant-numeric: tabular-nums; }
html.ops-navy .bv-trs { position: relative; padding: 20px 0 8px; background-image: linear-gradient(to right, var(--ops-line-default) 1px, transparent 1px); background-repeat: repeat-x; }
html.ops-navy .bv-tr { padding: 2px 0; }
html.ops-navy .bv-tbtn { position: relative; z-index: 2; display: flex; align-items: flex-start; gap: 8px; padding: 0; border: 0; border-radius: 4px; background: transparent; text-align: left; font-size: 14px; line-height: 20px; cursor: pointer; }
html.ops-navy .bv-tbar { flex: none; display: block; min-height: 28px; padding: 4px 10px; border-left: 4px solid var(--c-none); border-radius: 4px; background: var(--card); }
html.ops-navy .bv-tshort .bv-tbar { padding: 0; }
html.ops-navy .bv-tnm { display: block; white-space: normal; overflow-wrap: anywhere; }
html.ops-navy .bv-tshort .bv-tnm { max-width: 240px; padding: 4px 6px; border-radius: 4px; background: var(--ops-bg-canvas); }
html.ops-navy .bv-tbtn:hover .bv-tbar { background: var(--cardh); }
html.ops-navy .bv-tshort:hover .bv-tnm { color: var(--t1); }
html.ops-navy .bv-tline { position: absolute; top: 0; bottom: 0; width: 0; border-left: 2px solid var(--red); pointer-events: none; z-index: 1; }
html.ops-navy .bv-tline span { position: absolute; top: 0; left: 4px; font-size: 11px; line-height: 14px; font-weight: 700; color: var(--ops-status-bad); }
html.ops-navy .bv-und { position: sticky; left: 0; margin-top: 16px; padding: 12px; background: var(--ops-bg-plane); border: 1px solid var(--edge); border-radius: 8px; }
html.ops-navy .bv-undh { margin-bottom: 8px; font-size: 12px; font-weight: 600; color: var(--t3); }
html.ops-navy .bv-undc { display: block; width: 100%; padding: 6px 8px; border: 0; border-radius: 4px; background: transparent; text-align: left; font-size: 14px; line-height: 20px; cursor: pointer; overflow-wrap: anywhere; }
html.ops-navy .bv-undc:hover { background: var(--hover); }

html.ops-navy .bv-tbtn.bv-done { color: var(--t3); }

@media (max-width: 1439px) {
  html.ops-navy .bv { padding: 0 12px 16px; }
  html.ops-navy .bv-table { min-width: 0; }
  html.ops-navy .bv-table .bv-nm { min-width: 140px; }
  html.ops-navy .bv-grid { grid-auto-rows: minmax(76px, 1fr); }
  html.ops-navy .bv-bar { height: auto; min-height: 40px; flex-wrap: wrap; }
  html.ops-navy .bv-cal-week .bv-grid { grid-template-columns: 1fr; grid-auto-rows: auto; }
  html.ops-navy .bv-cal-week .bv-dhs { display: none; }
  html.ops-navy .bv-title { font-size: 15px; margin: 0 4px; }
  html.ops-navy .bv-day { padding: 2px; }
  html.ops-navy .bv-ev { padding: 0 2px; }
  html.ops-navy .bv-evm { display: none; }
}

@media (max-width: 700px) {
  html.ops-navy .bv-c-lab, html.ops-navy .bv-c-chk, html.ops-navy .bv-c-start { display: none; }
  html.ops-navy .bv-table, html.ops-navy .bv-table tbody { display: block; min-width: 0; }
  html.ops-navy .bv-table thead { display: none; }
  html.ops-navy .bv-table tr { display: block; }
  html.ops-navy .bv-table tr.bv-row { display: grid; grid-template-columns: auto auto 1fr; align-items: center; column-gap: 12px; padding: 10px 12px; border-bottom: 1px solid var(--ops-line-default); }
  html.ops-navy .bv-table tr.bv-row:last-child { border-bottom: 0; }
  html.ops-navy .bv-table tr.bv-row:hover { background: var(--ops-hover-wash); }
  html.ops-navy .bv-table .bv-row td { display: block; padding: 0; border: 0; background: transparent; }
  html.ops-navy .bv-table .bv-row td.bv-c-lab, html.ops-navy .bv-table .bv-row td.bv-c-chk, html.ops-navy .bv-table .bv-row td.bv-c-start { display: none; }
  html.ops-navy .bv-table .bv-row .bv-nm { grid-column: 1 / -1; min-width: 0; margin-bottom: 6px; }
  html.ops-navy .bv-table .bv-c-st { justify-self: end; }
  html.ops-navy .bv-table td.bv-empty { display: block; }
  html.ops-navy .bv-ph { display: inline; }
  html.ops-navy .bv-title { order: 5; flex: 1 0 100%; margin: 0; }
  html.ops-navy .bv-seg { margin-left: auto; }
  html.ops-navy .bv-cal-month .bv-grid { grid-auto-rows: 52px; }
  html.ops-navy .bv-cal-month .bv-ev, html.ops-navy .bv-cal-month .bv-more { display: none; }
  html.ops-navy .bv-cal-month .bv-cnt { display: flex; flex-direction: column; align-items: center; gap: 2px; width: 100%; min-height: 24px; padding: 0; border: 0; border-radius: 4px; background: transparent; font-size: 12px; line-height: 14px; font-weight: 700; color: var(--t2); cursor: pointer; }
  html.ops-navy .bv-cal-month .bv-dn { text-align: center; padding: 0; }
  html.ops-navy .bv-pips { display: inline-flex; gap: 2px; }
  html.ops-navy .bv-pips i { width: 6px; height: 6px; border-radius: 50%; background: var(--t2); }
  html.ops-navy .bv-pips i.d { background: var(--green); }
  html.ops-navy .bv-pips i.l { background: var(--red); }
}
/* Phone top bar: the buttons keep their look; an invisible 44px-tall layer carries the tap. */
@media (max-width: 768px) {
  html.ops-navy #top .sh-ib::after, html.ops-navy #top #search-btn::after, html.ops-navy #top #inbox-btn::after, html.ops-navy #top #menu-btn::after, html.ops-navy #top #fab::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 44px;
    transform: translateY(-50%);
  }
  html.ops-navy #top #search-btn::after, html.ops-navy #top #inbox-btn::after, html.ops-navy #top #menu-btn::after, html.ops-navy #top #fab::after { left: -2px; right: -2px; }
  html.ops-navy #top #menu-btn, html.ops-navy #top #menu-btn.avatar-btn, html.ops-navy #top #fab { position: relative; }
}
