/* node_modules/@angular/material/prebuilt-themes/azure-blue.css */
html {
  --mat-sys-background: #faf9fd;
  --mat-sys-error: #ba1a1a;
  --mat-sys-error-container: #ffdad6;
  --mat-sys-inverse-on-surface: #f2f0f4;
  --mat-sys-inverse-primary: #abc7ff;
  --mat-sys-inverse-surface: #2f3033;
  --mat-sys-on-background: #1a1b1f;
  --mat-sys-on-error: #ffffff;
  --mat-sys-on-error-container: #93000a;
  --mat-sys-on-primary: #ffffff;
  --mat-sys-on-primary-container: #00458f;
  --mat-sys-on-primary-fixed: #001b3f;
  --mat-sys-on-primary-fixed-variant: #00458f;
  --mat-sys-on-secondary: #ffffff;
  --mat-sys-on-secondary-container: #3e4759;
  --mat-sys-on-secondary-fixed: #131c2b;
  --mat-sys-on-secondary-fixed-variant: #3e4759;
  --mat-sys-on-surface: #1a1b1f;
  --mat-sys-on-surface-variant: #44474e;
  --mat-sys-on-tertiary: #ffffff;
  --mat-sys-on-tertiary-container: #0000ef;
  --mat-sys-on-tertiary-fixed: #00006e;
  --mat-sys-on-tertiary-fixed-variant: #0000ef;
  --mat-sys-outline: #74777f;
  --mat-sys-outline-variant: #c4c6d0;
  --mat-sys-primary: #005cbb;
  --mat-sys-primary-container: #d7e3ff;
  --mat-sys-primary-fixed: #d7e3ff;
  --mat-sys-primary-fixed-dim: #abc7ff;
  --mat-sys-scrim: #000000;
  --mat-sys-secondary: #565e71;
  --mat-sys-secondary-container: #dae2f9;
  --mat-sys-secondary-fixed: #dae2f9;
  --mat-sys-secondary-fixed-dim: #bec6dc;
  --mat-sys-shadow: #000000;
  --mat-sys-surface: #faf9fd;
  --mat-sys-surface-bright: #faf9fd;
  --mat-sys-surface-container: #efedf0;
  --mat-sys-surface-container-high: #e9e7eb;
  --mat-sys-surface-container-highest: #e3e2e6;
  --mat-sys-surface-container-low: #f4f3f6;
  --mat-sys-surface-container-lowest: #ffffff;
  --mat-sys-surface-dim: #dbd9dd;
  --mat-sys-surface-tint: #005cbb;
  --mat-sys-surface-variant: #e0e2ec;
  --mat-sys-tertiary: #343dff;
  --mat-sys-tertiary-container: #e0e0ff;
  --mat-sys-tertiary-fixed: #e0e0ff;
  --mat-sys-tertiary-fixed-dim: #bec2ff;
  --mat-sys-neutral-variant20: #2d3038;
  --mat-sys-neutral10: #1a1b1f;
  --mat-sys-level0:
    0px 0px 0px 0px rgba(0, 0, 0, 0.2),
    0px 0px 0px 0px rgba(0, 0, 0, 0.14),
    0px 0px 0px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level1:
    0px 2px 1px -1px rgba(0, 0, 0, 0.2),
    0px 1px 1px 0px rgba(0, 0, 0, 0.14),
    0px 1px 3px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level2:
    0px 3px 3px -2px rgba(0, 0, 0, 0.2),
    0px 3px 4px 0px rgba(0, 0, 0, 0.14),
    0px 1px 8px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level3:
    0px 3px 5px -1px rgba(0, 0, 0, 0.2),
    0px 6px 10px 0px rgba(0, 0, 0, 0.14),
    0px 1px 18px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level4:
    0px 5px 5px -3px rgba(0, 0, 0, 0.2),
    0px 8px 10px 1px rgba(0, 0, 0, 0.14),
    0px 3px 14px 2px rgba(0, 0, 0, 0.12);
  --mat-sys-level5:
    0px 7px 8px -4px rgba(0, 0, 0, 0.2),
    0px 12px 17px 2px rgba(0, 0, 0, 0.14),
    0px 5px 22px 4px rgba(0, 0, 0, 0.12);
  --mat-sys-body-large: 400 1rem / 1.5rem Roboto;
  --mat-sys-body-large-font: Roboto;
  --mat-sys-body-large-line-height: 1.5rem;
  --mat-sys-body-large-size: 1rem;
  --mat-sys-body-large-tracking: 0.031rem;
  --mat-sys-body-large-weight: 400;
  --mat-sys-body-medium: 400 0.875rem / 1.25rem Roboto;
  --mat-sys-body-medium-font: Roboto;
  --mat-sys-body-medium-line-height: 1.25rem;
  --mat-sys-body-medium-size: 0.875rem;
  --mat-sys-body-medium-tracking: 0.016rem;
  --mat-sys-body-medium-weight: 400;
  --mat-sys-body-small: 400 0.75rem / 1rem Roboto;
  --mat-sys-body-small-font: Roboto;
  --mat-sys-body-small-line-height: 1rem;
  --mat-sys-body-small-size: 0.75rem;
  --mat-sys-body-small-tracking: 0.025rem;
  --mat-sys-body-small-weight: 400;
  --mat-sys-display-large: 400 3.562rem / 4rem Roboto;
  --mat-sys-display-large-font: Roboto;
  --mat-sys-display-large-line-height: 4rem;
  --mat-sys-display-large-size: 3.562rem;
  --mat-sys-display-large-tracking: -0.016rem;
  --mat-sys-display-large-weight: 400;
  --mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;
  --mat-sys-display-medium-font: Roboto;
  --mat-sys-display-medium-line-height: 3.25rem;
  --mat-sys-display-medium-size: 2.812rem;
  --mat-sys-display-medium-tracking: 0;
  --mat-sys-display-medium-weight: 400;
  --mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;
  --mat-sys-display-small-font: Roboto;
  --mat-sys-display-small-line-height: 2.75rem;
  --mat-sys-display-small-size: 2.25rem;
  --mat-sys-display-small-tracking: 0;
  --mat-sys-display-small-weight: 400;
  --mat-sys-headline-large: 400 2rem / 2.5rem Roboto;
  --mat-sys-headline-large-font: Roboto;
  --mat-sys-headline-large-line-height: 2.5rem;
  --mat-sys-headline-large-size: 2rem;
  --mat-sys-headline-large-tracking: 0;
  --mat-sys-headline-large-weight: 400;
  --mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;
  --mat-sys-headline-medium-font: Roboto;
  --mat-sys-headline-medium-line-height: 2.25rem;
  --mat-sys-headline-medium-size: 1.75rem;
  --mat-sys-headline-medium-tracking: 0;
  --mat-sys-headline-medium-weight: 400;
  --mat-sys-headline-small: 400 1.5rem / 2rem Roboto;
  --mat-sys-headline-small-font: Roboto;
  --mat-sys-headline-small-line-height: 2rem;
  --mat-sys-headline-small-size: 1.5rem;
  --mat-sys-headline-small-tracking: 0;
  --mat-sys-headline-small-weight: 400;
  --mat-sys-label-large: 500 0.875rem / 1.25rem Roboto;
  --mat-sys-label-large-font: Roboto;
  --mat-sys-label-large-line-height: 1.25rem;
  --mat-sys-label-large-size: 0.875rem;
  --mat-sys-label-large-tracking: 0.006rem;
  --mat-sys-label-large-weight: 500;
  --mat-sys-label-large-weight-prominent: 700;
  --mat-sys-label-medium: 500 0.75rem / 1rem Roboto;
  --mat-sys-label-medium-font: Roboto;
  --mat-sys-label-medium-line-height: 1rem;
  --mat-sys-label-medium-size: 0.75rem;
  --mat-sys-label-medium-tracking: 0.031rem;
  --mat-sys-label-medium-weight: 500;
  --mat-sys-label-medium-weight-prominent: 700;
  --mat-sys-label-small: 500 0.688rem / 1rem Roboto;
  --mat-sys-label-small-font: Roboto;
  --mat-sys-label-small-line-height: 1rem;
  --mat-sys-label-small-size: 0.688rem;
  --mat-sys-label-small-tracking: 0.031rem;
  --mat-sys-label-small-weight: 500;
  --mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;
  --mat-sys-title-large-font: Roboto;
  --mat-sys-title-large-line-height: 1.75rem;
  --mat-sys-title-large-size: 1.375rem;
  --mat-sys-title-large-tracking: 0;
  --mat-sys-title-large-weight: 400;
  --mat-sys-title-medium: 500 1rem / 1.5rem Roboto;
  --mat-sys-title-medium-font: Roboto;
  --mat-sys-title-medium-line-height: 1.5rem;
  --mat-sys-title-medium-size: 1rem;
  --mat-sys-title-medium-tracking: 0.009rem;
  --mat-sys-title-medium-weight: 500;
  --mat-sys-title-small: 500 0.875rem / 1.25rem Roboto;
  --mat-sys-title-small-font: Roboto;
  --mat-sys-title-small-line-height: 1.25rem;
  --mat-sys-title-small-size: 0.875rem;
  --mat-sys-title-small-tracking: 0.006rem;
  --mat-sys-title-small-weight: 500;
  --mat-sys-corner-extra-large: 28px;
  --mat-sys-corner-extra-large-top: 28px 28px 0 0;
  --mat-sys-corner-extra-small: 4px;
  --mat-sys-corner-extra-small-top: 4px 4px 0 0;
  --mat-sys-corner-full: 9999px;
  --mat-sys-corner-large: 16px;
  --mat-sys-corner-large-end: 0 16px 16px 0;
  --mat-sys-corner-large-start: 16px 0 0 16px;
  --mat-sys-corner-large-top: 16px 16px 0 0;
  --mat-sys-corner-medium: 12px;
  --mat-sys-corner-none: 0;
  --mat-sys-corner-small: 8px;
  --mat-sys-dragged-state-layer-opacity: 0.16;
  --mat-sys-focus-state-layer-opacity: 0.12;
  --mat-sys-hover-state-layer-opacity: 0.08;
  --mat-sys-pressed-state-layer-opacity: 0.12;
}

/* node_modules/leaflet/dist/leaflet.css */
.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
  position: absolute;
  left: 0;
  top: 0;
}
.leaflet-container {
  overflow: hidden;
}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}
.leaflet-tile::selection {
  background: transparent;
}
.leaflet-safari .leaflet-tile {
  image-rendering: -webkit-optimize-contrast;
}
.leaflet-safari .leaflet-tile-container {
  width: 1600px;
  height: 1600px;
  -webkit-transform-origin: 0 0;
}
.leaflet-marker-icon,
.leaflet-marker-shadow {
  display: block;
}
.leaflet-container .leaflet-overlay-pane svg {
  max-width: none !important;
  max-height: none !important;
}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
  max-width: none !important;
  max-height: none !important;
  width: auto;
  padding: 0;
}
.leaflet-container img.leaflet-tile {
  mix-blend-mode: plus-lighter;
}
.leaflet-container.leaflet-touch-zoom {
  -ms-touch-action: pan-x pan-y;
  touch-action: pan-x pan-y;
}
.leaflet-container.leaflet-touch-drag {
  -ms-touch-action: pinch-zoom;
  touch-action: none;
  touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
  -ms-touch-action: none;
  touch-action: none;
}
.leaflet-container {
  -webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
  -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
  filter: inherit;
  visibility: hidden;
}
.leaflet-tile-loaded {
  visibility: inherit;
}
.leaflet-zoom-box {
  width: 0;
  height: 0;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 800;
}
.leaflet-overlay-pane svg {
  -moz-user-select: none;
}
.leaflet-pane {
  z-index: 400;
}
.leaflet-tile-pane {
  z-index: 200;
}
.leaflet-overlay-pane {
  z-index: 400;
}
.leaflet-shadow-pane {
  z-index: 500;
}
.leaflet-marker-pane {
  z-index: 600;
}
.leaflet-tooltip-pane {
  z-index: 650;
}
.leaflet-popup-pane {
  z-index: 700;
}
.leaflet-map-pane canvas {
  z-index: 100;
}
.leaflet-map-pane svg {
  z-index: 200;
}
.leaflet-vml-shape {
  width: 1px;
  height: 1px;
}
.lvml {
  behavior: url(#default#VML);
  display: inline-block;
  position: absolute;
}
.leaflet-control {
  position: relative;
  z-index: 800;
  pointer-events: visiblePainted;
  pointer-events: auto;
}
.leaflet-top,
.leaflet-bottom {
  position: absolute;
  z-index: 1000;
  pointer-events: none;
}
.leaflet-top {
  top: 0;
}
.leaflet-right {
  right: 0;
}
.leaflet-bottom {
  bottom: 0;
}
.leaflet-left {
  left: 0;
}
.leaflet-control {
  float: left;
  clear: both;
}
.leaflet-right .leaflet-control {
  float: right;
}
.leaflet-top .leaflet-control {
  margin-top: 10px;
}
.leaflet-bottom .leaflet-control {
  margin-bottom: 10px;
}
.leaflet-left .leaflet-control {
  margin-left: 10px;
}
.leaflet-right .leaflet-control {
  margin-right: 10px;
}
.leaflet-fade-anim .leaflet-popup {
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  -moz-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
  opacity: 1;
}
.leaflet-zoom-animated {
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
}
svg.leaflet-zoom-animated {
  will-change: transform;
}
.leaflet-zoom-anim .leaflet-zoom-animated {
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1);
  -moz-transition: -moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1);
  transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1);
}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
  -webkit-transition: none;
  -moz-transition: none;
  transition: none;
}
.leaflet-zoom-anim .leaflet-zoom-hide {
  visibility: hidden;
}
.leaflet-interactive {
  cursor: pointer;
}
.leaflet-grab {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
  cursor: crosshair;
}
.leaflet-popup-pane,
.leaflet-control {
  cursor: auto;
}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
  pointer-events: none;
}
.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
  pointer-events: visiblePainted;
  pointer-events: auto;
}
.leaflet-container {
  background: #ddd;
  outline-offset: 1px;
}
.leaflet-container a {
  color: #0078A8;
}
.leaflet-zoom-box {
  border: 2px dotted #38f;
  background: rgba(255, 255, 255, 0.5);
}
.leaflet-container {
  font-family:
    "Helvetica Neue",
    Arial,
    Helvetica,
    sans-serif;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
}
.leaflet-bar {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);
  border-radius: 4px;
}
.leaflet-bar a {
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  width: 26px;
  height: 26px;
  line-height: 26px;
  display: block;
  text-align: center;
  text-decoration: none;
  color: black;
}
.leaflet-bar a,
.leaflet-control-layers-toggle {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  display: block;
}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
  background-color: #f4f4f4;
}
.leaflet-bar a:first-child {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}
.leaflet-bar a:last-child {
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  border-bottom: none;
}
.leaflet-bar a.leaflet-disabled {
  cursor: default;
  background-color: #f4f4f4;
  color: #bbb;
}
.leaflet-touch .leaflet-bar a {
  width: 30px;
  height: 30px;
  line-height: 30px;
}
.leaflet-touch .leaflet-bar a:first-child {
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}
.leaflet-touch .leaflet-bar a:last-child {
  border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px;
}
.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
  font:
    bold 18px "Lucida Console",
    Monaco,
    monospace;
  text-indent: 1px;
}
.leaflet-touch .leaflet-control-zoom-in,
.leaflet-touch .leaflet-control-zoom-out {
  font-size: 22px;
}
.leaflet-control-layers {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);
  background: #fff;
  border-radius: 5px;
}
.leaflet-control-layers-toggle {
  background-image: url("./media/layers.png");
  width: 36px;
  height: 36px;
}
.leaflet-retina .leaflet-control-layers-toggle {
  background-image: url("./media/layers-2x.png");
  background-size: 26px 26px;
}
.leaflet-touch .leaflet-control-layers-toggle {
  width: 44px;
  height: 44px;
}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
  display: none;
}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
  display: block;
  position: relative;
}
.leaflet-control-layers-expanded {
  padding: 6px 10px 6px 6px;
  color: #333;
  background: #fff;
}
.leaflet-control-layers-scrollbar {
  overflow-y: scroll;
  overflow-x: hidden;
  padding-right: 5px;
}
.leaflet-control-layers-selector {
  margin-top: 2px;
  position: relative;
  top: 1px;
}
.leaflet-control-layers label {
  display: block;
  font-size: 13px;
  font-size: 1.08333em;
}
.leaflet-control-layers-separator {
  height: 0;
  border-top: 1px solid #ddd;
  margin: 5px -10px 5px -6px;
}
.leaflet-default-icon-path {
  background-image: url("./media/marker-icon.png");
}
.leaflet-container .leaflet-control-attribution {
  background: #fff;
  background: rgba(255, 255, 255, 0.8);
  margin: 0;
}
.leaflet-control-attribution,
.leaflet-control-scale-line {
  padding: 0 5px;
  color: #333;
  line-height: 1.4;
}
.leaflet-control-attribution a {
  text-decoration: none;
}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
  text-decoration: underline;
}
.leaflet-attribution-flag {
  display: inline !important;
  vertical-align: baseline !important;
  width: 1em;
  height: 0.6669em;
}
.leaflet-left .leaflet-control-scale {
  margin-left: 5px;
}
.leaflet-bottom .leaflet-control-scale {
  margin-bottom: 5px;
}
.leaflet-control-scale-line {
  border: 2px solid #777;
  border-top: none;
  line-height: 1.1;
  padding: 2px 5px 1px;
  white-space: nowrap;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.8);
  text-shadow: 1px 1px #fff;
}
.leaflet-control-scale-line:not(:first-child) {
  border-top: 2px solid #777;
  border-bottom: none;
  margin-top: -2px;
}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
  border-bottom: 2px solid #777;
}
.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  box-shadow: none;
}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  border: 2px solid rgba(0, 0, 0, 0.2);
  background-clip: padding-box;
}
.leaflet-popup {
  position: absolute;
  text-align: center;
  margin-bottom: 20px;
}
.leaflet-popup-content-wrapper {
  padding: 1px;
  text-align: left;
  border-radius: 12px;
}
.leaflet-popup-content {
  margin: 13px 24px 13px 20px;
  line-height: 1.3;
  font-size: 13px;
  font-size: 1.08333em;
  min-height: 1px;
}
.leaflet-popup-content p {
  margin: 17px 0;
  margin: 1.3em 0;
}
.leaflet-popup-tip-container {
  width: 40px;
  height: 20px;
  position: absolute;
  left: 50%;
  margin-top: -1px;
  margin-left: -20px;
  overflow: hidden;
  pointer-events: none;
}
.leaflet-popup-tip {
  width: 17px;
  height: 17px;
  padding: 1px;
  margin: -10px auto 0;
  pointer-events: auto;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
  background: white;
  color: #333;
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.4);
}
.leaflet-container a.leaflet-popup-close-button {
  position: absolute;
  top: 0;
  right: 0;
  border: none;
  text-align: center;
  width: 24px;
  height: 24px;
  font:
    16px/24px Tahoma,
    Verdana,
    sans-serif;
  color: #757575;
  text-decoration: none;
  background: transparent;
}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
  color: #585858;
}
.leaflet-popup-scrolled {
  overflow: auto;
}
.leaflet-oldie .leaflet-popup-content-wrapper {
  -ms-zoom: 1;
}
.leaflet-oldie .leaflet-popup-tip {
  width: 24px;
  margin: 0 auto;
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
  filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
}
.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
  border: 1px solid #999;
}
.leaflet-div-icon {
  background: #fff;
  border: 1px solid #666;
}
.leaflet-tooltip {
  position: absolute;
  padding: 6px;
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 3px;
  color: #222;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}
.leaflet-tooltip.leaflet-interactive {
  cursor: pointer;
  pointer-events: auto;
}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
  position: absolute;
  pointer-events: none;
  border: 6px solid transparent;
  background: transparent;
  content: "";
}
.leaflet-tooltip-bottom {
  margin-top: 6px;
}
.leaflet-tooltip-top {
  margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
  left: 50%;
  margin-left: -6px;
}
.leaflet-tooltip-top:before {
  bottom: 0;
  margin-bottom: -12px;
  border-top-color: #fff;
}
.leaflet-tooltip-bottom:before {
  top: 0;
  margin-top: -12px;
  margin-left: -6px;
  border-bottom-color: #fff;
}
.leaflet-tooltip-left {
  margin-left: -6px;
}
.leaflet-tooltip-right {
  margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
  top: 50%;
  margin-top: -6px;
}
.leaflet-tooltip-left:before {
  right: 0;
  margin-right: -12px;
  border-left-color: #fff;
}
.leaflet-tooltip-right:before {
  left: 0;
  margin-left: -12px;
  border-right-color: #fff;
}
@media print {
  .leaflet-control {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

/* src/styles.scss */
:root {
  --canvas: #f4f4f1;
  --canvas-2: #ececea;
  --surface: #ffffff;
  --surface-soft: #fafaf8;
  --glass: rgba(255, 255, 255, 0.65);
  --glass-line: rgba(255, 255, 255, 0.85);
  --mint: #cce2cb;
  --mint-2: #b8d4b6;
  --mint-soft: #e6f0e5;
  --mint-ink: #2d4a2a;
  --lime: #e5ec7a;
  --lime-soft: #f3f6c4;
  --lime-ink: #5d6710;
  --ink: #1c1c1c;
  --ink-2: #3a3a3a;
  --body: #4d4d4d;
  --muted: #8a8a8a;
  --muted-2: #b8b8b8;
  --line: #ededeb;
  --line-2: #f3f3f1;
  --pink: #f5d6da;
  --pink-ink: #92434f;
  --blue: #d5e2ef;
  --blue-ink: #355778;
  --purple: #e4d9ee;
  --purple-ink: #5d4082;
  --peach: #f5e1ce;
  --peach-ink: #8a5a2a;
  --ok: #cce2cb;
  --ok-ink: #2d4a2a;
  --warn: #f5e1ce;
  --warn-ink: #8a5a2a;
  --bad: #f5d6da;
  --bad-ink: #92434f;
  --neutral: #ececea;
  --neutral-ink: #5a5a5a;
  --r-xs: 8px;
  --r-sm: 12px;
  --r-md: 16px;
  --r-lg: 20px;
  --r-xl: 28px;
  --r-pill: 999px;
  --sh-1: 0 1px 2px rgba(20, 20, 20, 0.03);
  --sh-2: 0 4px 16px rgba(20, 20, 20, 0.04), 0 1px 3px rgba(20, 20, 20, 0.02);
  --sh-3: 0 14px 40px rgba(20, 20, 20, 0.06), 0 2px 6px rgba(20, 20, 20, 0.03);
  --sh-glass: 0 8px 32px rgba(20, 20, 20, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.6);
  --font-display:
    "Urbanist",
    "Inter",
    system-ui,
    -apple-system,
    sans-serif;
  --font-body:
    "Inter",
    system-ui,
    -apple-system,
    sans-serif;
  --font-mono:
    ui-monospace,
    "SF Mono",
    "Menlo",
    "Consolas",
    monospace;
}
:root {
  --nodum-ink: var(--ink);
  --nodum-ink-2: var(--ink-2);
  --nodum-ink-3: var(--muted);
  --nodum-ink-4: var(--muted-2);
  --nodum-paper: var(--canvas);
  --nodum-surface: var(--surface);
  --nodum-surface-2: var(--surface-soft);
  --nodum-line: var(--line);
  --nodum-line-strong: var(--line);
  --nodum-accent: var(--ink);
  --nodum-accent-hover: #000;
  --nodum-accent-soft: var(--mint-soft);
  --nodum-ok: var(--ok-ink);
  --nodum-ok-soft: var(--ok);
  --nodum-warn: var(--warn-ink);
  --nodum-warn-soft: var(--warn);
  --nodum-crit: var(--bad-ink);
  --nodum-crit-soft: var(--bad);
  --nodum-font-display: var(--font-display);
  --nodum-font-body: var(--font-body);
  --nodum-font-mono:
    ui-monospace,
    "SF Mono",
    "Menlo",
    "Consolas",
    monospace;
  --nodum-radius-sm: var(--r-sm);
  --nodum-radius: var(--r-md);
  --nodum-radius-lg: var(--r-lg);
  --nodum-shadow-1: var(--sh-1);
  --nodum-shadow-focus: 0 0 0 3px var(--mint-soft);
}
html {
  --mat-sys-background: #f9faf3;
  --mat-sys-error: #ba1a1a;
  --mat-sys-error-container: #ffdad6;
  --mat-sys-inverse-on-surface: #f1f1eb;
  --mat-sys-inverse-primary: #02e600;
  --mat-sys-inverse-surface: #2f312d;
  --mat-sys-on-background: #1a1c18;
  --mat-sys-on-error: #ffffff;
  --mat-sys-on-error-container: #93000a;
  --mat-sys-on-primary: #ffffff;
  --mat-sys-on-primary-container: #015300;
  --mat-sys-on-primary-fixed: #002200;
  --mat-sys-on-primary-fixed-variant: #015300;
  --mat-sys-on-secondary: #ffffff;
  --mat-sys-on-secondary-container: #3c4b37;
  --mat-sys-on-secondary-fixed: #121f0e;
  --mat-sys-on-secondary-fixed-variant: #3c4b37;
  --mat-sys-on-surface: #1a1c18;
  --mat-sys-on-surface-variant: #43483f;
  --mat-sys-on-tertiary: #ffffff;
  --mat-sys-on-tertiary-container: #245100;
  --mat-sys-on-tertiary-fixed: #0b2000;
  --mat-sys-on-tertiary-fixed-variant: #245100;
  --mat-sys-outline: #73796e;
  --mat-sys-outline-variant: #c3c8bc;
  --mat-sys-primary: #026e00;
  --mat-sys-primary-container: #77ff61;
  --mat-sys-primary-fixed: #77ff61;
  --mat-sys-primary-fixed-dim: #02e600;
  --mat-sys-scrim: #000000;
  --mat-sys-secondary: #54634d;
  --mat-sys-secondary-container: #d7e8cd;
  --mat-sys-secondary-fixed: #d7e8cd;
  --mat-sys-secondary-fixed-dim: #bbcbb2;
  --mat-sys-shadow: #000000;
  --mat-sys-surface: #f9faf3;
  --mat-sys-surface-bright: #f9faf3;
  --mat-sys-surface-container: #eeeee7;
  --mat-sys-surface-container-high: #e8e9e1;
  --mat-sys-surface-container-highest: #e2e3dc;
  --mat-sys-surface-container-low: #f3f4ed;
  --mat-sys-surface-container-lowest: #ffffff;
  --mat-sys-surface-dim: #dadbd3;
  --mat-sys-surface-tint: #026e00;
  --mat-sys-surface-variant: #dfe4d7;
  --mat-sys-tertiary: #326b00;
  --mat-sys-tertiary-container: #82ff10;
  --mat-sys-tertiary-fixed: #82ff10;
  --mat-sys-tertiary-fixed-dim: #70e000;
  --mat-sys-neutral-variant20: #2c3229;
  --mat-sys-neutral10: #1a1c18;
  --mat-sys-level0:
    0px 0px 0px 0px rgba(0, 0, 0, 0.2),
    0px 0px 0px 0px rgba(0, 0, 0, 0.14),
    0px 0px 0px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level1:
    0px 2px 1px -1px rgba(0, 0, 0, 0.2),
    0px 1px 1px 0px rgba(0, 0, 0, 0.14),
    0px 1px 3px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level2:
    0px 3px 3px -2px rgba(0, 0, 0, 0.2),
    0px 3px 4px 0px rgba(0, 0, 0, 0.14),
    0px 1px 8px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level3:
    0px 3px 5px -1px rgba(0, 0, 0, 0.2),
    0px 6px 10px 0px rgba(0, 0, 0, 0.14),
    0px 1px 18px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level4:
    0px 5px 5px -3px rgba(0, 0, 0, 0.2),
    0px 8px 10px 1px rgba(0, 0, 0, 0.14),
    0px 3px 14px 2px rgba(0, 0, 0, 0.12);
  --mat-sys-level5:
    0px 7px 8px -4px rgba(0, 0, 0, 0.2),
    0px 12px 17px 2px rgba(0, 0, 0, 0.14),
    0px 5px 22px 4px rgba(0, 0, 0, 0.12);
  --mat-sys-body-large:
    400 1rem / 1.5rem Inter,
    system-ui,
    sans-serif;
  --mat-sys-body-large-font:
    Inter,
    system-ui,
    sans-serif;
  --mat-sys-body-large-line-height: 1.5rem;
  --mat-sys-body-large-size: 1rem;
  --mat-sys-body-large-tracking: 0.031rem;
  --mat-sys-body-large-weight: 400;
  --mat-sys-body-medium:
    400 0.875rem / 1.25rem Inter,
    system-ui,
    sans-serif;
  --mat-sys-body-medium-font:
    Inter,
    system-ui,
    sans-serif;
  --mat-sys-body-medium-line-height: 1.25rem;
  --mat-sys-body-medium-size: 0.875rem;
  --mat-sys-body-medium-tracking: 0.016rem;
  --mat-sys-body-medium-weight: 400;
  --mat-sys-body-small:
    400 0.75rem / 1rem Inter,
    system-ui,
    sans-serif;
  --mat-sys-body-small-font:
    Inter,
    system-ui,
    sans-serif;
  --mat-sys-body-small-line-height: 1rem;
  --mat-sys-body-small-size: 0.75rem;
  --mat-sys-body-small-tracking: 0.025rem;
  --mat-sys-body-small-weight: 400;
  --mat-sys-display-large:
    400 3.562rem / 4rem Urbanist,
    Inter,
    system-ui,
    sans-serif;
  --mat-sys-display-large-font:
    Urbanist,
    Inter,
    system-ui,
    sans-serif;
  --mat-sys-display-large-line-height: 4rem;
  --mat-sys-display-large-size: 3.562rem;
  --mat-sys-display-large-tracking: -0.016rem;
  --mat-sys-display-large-weight: 400;
  --mat-sys-display-medium:
    400 2.812rem / 3.25rem Urbanist,
    Inter,
    system-ui,
    sans-serif;
  --mat-sys-display-medium-font:
    Urbanist,
    Inter,
    system-ui,
    sans-serif;
  --mat-sys-display-medium-line-height: 3.25rem;
  --mat-sys-display-medium-size: 2.812rem;
  --mat-sys-display-medium-tracking: 0;
  --mat-sys-display-medium-weight: 400;
  --mat-sys-display-small:
    400 2.25rem / 2.75rem Urbanist,
    Inter,
    system-ui,
    sans-serif;
  --mat-sys-display-small-font:
    Urbanist,
    Inter,
    system-ui,
    sans-serif;
  --mat-sys-display-small-line-height: 2.75rem;
  --mat-sys-display-small-size: 2.25rem;
  --mat-sys-display-small-tracking: 0;
  --mat-sys-display-small-weight: 400;
  --mat-sys-headline-large:
    400 2rem / 2.5rem Urbanist,
    Inter,
    system-ui,
    sans-serif;
  --mat-sys-headline-large-font:
    Urbanist,
    Inter,
    system-ui,
    sans-serif;
  --mat-sys-headline-large-line-height: 2.5rem;
  --mat-sys-headline-large-size: 2rem;
  --mat-sys-headline-large-tracking: 0;
  --mat-sys-headline-large-weight: 400;
  --mat-sys-headline-medium:
    400 1.75rem / 2.25rem Urbanist,
    Inter,
    system-ui,
    sans-serif;
  --mat-sys-headline-medium-font:
    Urbanist,
    Inter,
    system-ui,
    sans-serif;
  --mat-sys-headline-medium-line-height: 2.25rem;
  --mat-sys-headline-medium-size: 1.75rem;
  --mat-sys-headline-medium-tracking: 0;
  --mat-sys-headline-medium-weight: 400;
  --mat-sys-headline-small:
    400 1.5rem / 2rem Urbanist,
    Inter,
    system-ui,
    sans-serif;
  --mat-sys-headline-small-font:
    Urbanist,
    Inter,
    system-ui,
    sans-serif;
  --mat-sys-headline-small-line-height: 2rem;
  --mat-sys-headline-small-size: 1.5rem;
  --mat-sys-headline-small-tracking: 0;
  --mat-sys-headline-small-weight: 400;
  --mat-sys-label-large:
    600 0.875rem / 1.25rem Inter,
    system-ui,
    sans-serif;
  --mat-sys-label-large-font:
    Inter,
    system-ui,
    sans-serif;
  --mat-sys-label-large-line-height: 1.25rem;
  --mat-sys-label-large-size: 0.875rem;
  --mat-sys-label-large-tracking: 0.006rem;
  --mat-sys-label-large-weight: 600;
  --mat-sys-label-large-weight-prominent: 700;
  --mat-sys-label-medium:
    600 0.75rem / 1rem Inter,
    system-ui,
    sans-serif;
  --mat-sys-label-medium-font:
    Inter,
    system-ui,
    sans-serif;
  --mat-sys-label-medium-line-height: 1rem;
  --mat-sys-label-medium-size: 0.75rem;
  --mat-sys-label-medium-tracking: 0.031rem;
  --mat-sys-label-medium-weight: 600;
  --mat-sys-label-medium-weight-prominent: 700;
  --mat-sys-label-small:
    600 0.688rem / 1rem Inter,
    system-ui,
    sans-serif;
  --mat-sys-label-small-font:
    Inter,
    system-ui,
    sans-serif;
  --mat-sys-label-small-line-height: 1rem;
  --mat-sys-label-small-size: 0.688rem;
  --mat-sys-label-small-tracking: 0.031rem;
  --mat-sys-label-small-weight: 600;
  --mat-sys-title-large:
    400 1.375rem / 1.75rem Urbanist,
    Inter,
    system-ui,
    sans-serif;
  --mat-sys-title-large-font:
    Urbanist,
    Inter,
    system-ui,
    sans-serif;
  --mat-sys-title-large-line-height: 1.75rem;
  --mat-sys-title-large-size: 1.375rem;
  --mat-sys-title-large-tracking: 0;
  --mat-sys-title-large-weight: 400;
  --mat-sys-title-medium:
    600 1rem / 1.5rem Inter,
    system-ui,
    sans-serif;
  --mat-sys-title-medium-font:
    Inter,
    system-ui,
    sans-serif;
  --mat-sys-title-medium-line-height: 1.5rem;
  --mat-sys-title-medium-size: 1rem;
  --mat-sys-title-medium-tracking: 0.009rem;
  --mat-sys-title-medium-weight: 600;
  --mat-sys-title-small:
    600 0.875rem / 1.25rem Inter,
    system-ui,
    sans-serif;
  --mat-sys-title-small-font:
    Inter,
    system-ui,
    sans-serif;
  --mat-sys-title-small-line-height: 1.25rem;
  --mat-sys-title-small-size: 0.875rem;
  --mat-sys-title-small-tracking: 0.006rem;
  --mat-sys-title-small-weight: 600;
  --mat-checkbox-touch-target-display: block;
  --mat-checkbox-state-layer-size: 36px;
  --mat-chip-container-height: 28px;
  --mat-expansion-header-collapsed-state-height: 44px;
  --mat-expansion-header-expanded-state-height: 60px;
  --mat-fab-small-touch-target-display: ;
  --mat-fab-touch-target-display: block;
  --mat-button-filled-touch-target-display: block;
  --mat-button-filled-container-height: 36px;
  --mat-button-outlined-container-height: 36px;
  --mat-button-outlined-touch-target-display: block;
  --mat-button-protected-touch-target-display: block;
  --mat-button-protected-container-height: 36px;
  --mat-button-text-touch-target-display: block;
  --mat-button-text-container-height: 36px;
  --mat-button-tonal-container-height: 36px;
  --mat-button-tonal-touch-target-display: block;
  --mat-form-field-container-height: 52px;
  --mat-form-field-filled-label-display: block;
  --mat-form-field-container-vertical-padding: 14px;
  --mat-form-field-filled-with-label-container-padding-top: 22px;
  --mat-form-field-filled-with-label-container-padding-bottom: 6px;
  --mat-icon-button-touch-target-display: block;
  --mat-icon-button-state-layer-size: 36px;
  --mat-list-list-item-leading-icon-start-space: 12px;
  --mat-list-list-item-leading-icon-end-space: 12px;
  --mat-list-list-item-one-line-container-height: 44px;
  --mat-list-list-item-two-line-container-height: 60px;
  --mat-list-list-item-three-line-container-height: 84px;
  --mat-paginator-container-size: 52px;
  --mat-paginator-form-field-container-height: 40px;
  --mat-paginator-form-field-container-vertical-padding: 8px;
  --mat-paginator-touch-target-display: block;
  --mat-radio-touch-target-display: block;
  --mat-radio-state-layer-size: 36px;
  --mat-tab-container-height: 44px;
  --mat-select-arrow-transform: translateY(-8px);
  --mat-button-toggle-height: 40px;
  --mat-stepper-header-height: 68px;
  --mat-table-header-container-height: 52px;
  --mat-table-footer-container-height: 48px;
  --mat-table-row-item-container-height: 48px;
  --mat-toolbar-standard-height: 60px;
  --mat-toolbar-mobile-height: 52px;
  --mat-tree-node-min-height: 44px;
  --mat-sys-corner-extra-large: 28px;
  --mat-sys-corner-extra-large-top: 28px 28px 0 0;
  --mat-sys-corner-extra-small: 4px;
  --mat-sys-corner-extra-small-top: 4px 4px 0 0;
  --mat-sys-corner-full: 9999px;
  --mat-sys-corner-large: 16px;
  --mat-sys-corner-large-end: 0 16px 16px 0;
  --mat-sys-corner-large-start: 16px 0 0 16px;
  --mat-sys-corner-large-top: 16px 16px 0 0;
  --mat-sys-corner-medium: 12px;
  --mat-sys-corner-none: 0;
  --mat-sys-corner-small: 8px;
  --mat-sys-dragged-state-layer-opacity: 0.16;
  --mat-sys-focus-state-layer-opacity: 0.12;
  --mat-sys-hover-state-layer-opacity: 0.08;
  --mat-sys-pressed-state-layer-opacity: 0.12;
}
:root {
  --mat-sys-primary: var(--nodum-accent);
  --mat-sys-on-primary: var(--nodum-paper);
  --mat-sys-primary-container: var(--nodum-accent-soft);
  --mat-sys-on-primary-container: var(--nodum-accent);
  --mat-sys-surface: var(--nodum-surface);
  --mat-sys-on-surface: var(--nodum-ink);
  --mat-sys-surface-container: var(--nodum-surface);
  --mat-sys-surface-container-low: var(--nodum-paper);
  --mat-sys-surface-container-high: var(--nodum-surface-2);
  --mat-sys-surface-variant: var(--nodum-surface-2);
  --mat-sys-on-surface-variant: var(--nodum-ink-3);
  --mat-sys-outline: var(--nodum-line-strong);
  --mat-sys-outline-variant: var(--nodum-line);
  --mat-sys-error: var(--nodum-crit);
  --mat-sys-on-error: var(--nodum-paper);
  --mat-sys-error-container: var(--nodum-crit-soft);
  --mat-sys-on-error-container: var(--nodum-crit);
  --mat-sys-body-large: 400 14px/1.5 var(--nodum-font-body);
  --mat-sys-body-medium: 400 13px/1.5 var(--nodum-font-body);
  --mat-sys-label-large: 500 13px/1.4 var(--nodum-font-body);
  --mat-sys-label-medium: 500 11px/1.3 var(--nodum-font-mono);
  --mat-sys-headline-large: 500 32px/1.1 var(--nodum-font-display);
  --mat-sys-headline-medium: 500 24px/1.15 var(--nodum-font-display);
  --mat-sys-display-medium: 500 44px/1.05 var(--nodum-font-display);
}
:root {
  --mat-tooltip-container-color: var(--nodum-ink);
  --mat-tooltip-supporting-text-color: var(--nodum-paper);
  --mat-tooltip-supporting-text-font: var(--nodum-font-mono);
  --mat-tooltip-supporting-text-size: 11px;
  --mat-tooltip-supporting-text-weight: 500;
  --mat-menu-container-color: var(--nodum-surface);
  --mat-menu-item-label-text-color: var(--nodum-ink);
  --mat-menu-item-label-text-font: var(--nodum-font-body);
  --mat-menu-item-label-text-size: 14px;
  --mat-menu-item-hover-state-layer-color: var(--nodum-surface-2);
  --mat-dialog-container-color: var(--nodum-surface);
  --mat-dialog-container-shape: var(--nodum-radius-lg);
  --mat-dialog-subhead-color: var(--nodum-ink);
  --mat-dialog-supporting-text-color: var(--nodum-ink-2);
  --mat-dialog-subhead-font: var(--nodum-font-display);
  --mat-dialog-subhead-size: 24px;
  --mat-dialog-subhead-weight: 500;
  --mat-snack-bar-container-color: var(--nodum-ink);
  --mat-snack-bar-supporting-text-color: var(--nodum-paper);
  --mat-snack-bar-container-shape: var(--nodum-radius);
  --mat-snack-bar-supporting-text-font: var(--nodum-font-body);
  --mat-list-list-item-label-text-color: var(--nodum-ink-2);
  --mat-list-list-item-label-text-font: var(--nodum-font-body);
  --mat-list-list-item-label-text-size: 14px;
  --mat-list-list-item-label-text-weight: 500;
  --mat-list-list-item-hover-state-layer-color: var(--nodum-surface-2);
  --mat-list-list-item-selected-container-color: var(--nodum-accent-soft);
  --mat-list-list-item-leading-icon-color: var(--nodum-ink-3);
  --mat-datepicker-calendar-container-background-color: var(--nodum-surface);
  --mat-datepicker-calendar-date-selected-state-background-color: var(--nodum-accent);
  --mat-datepicker-calendar-date-today-outline-color: var(--nodum-accent);
  --mat-datepicker-calendar-body-label-text-color: var(--nodum-ink-3);
}
.material-symbols-outlined {
  font-variation-settings:
    "FILL" 0,
    "wght" 400,
    "GRAD" 0,
    "opsz" 20;
}
.nd-field {
  position: relative;
  display: flex;
  align-items: center;
}
.nd-field--search .material-symbols-outlined {
  position: absolute;
  left: 12px;
  font-size: 18px;
  color: var(--nodum-ink-3);
  pointer-events: none;
}
.nd-input {
  width: 100%;
  height: 38px;
  padding: 0 12px;
  font: inherit;
  font-size: 14px;
  color: var(--nodum-ink);
  background: var(--nodum-paper);
  border: 1px solid var(--nodum-line);
  border-radius: var(--nodum-radius);
  outline: none;
  transition:
    border-color 150ms ease,
    box-shadow 150ms ease,
    background-color 150ms ease;
}
.nd-input::placeholder {
  color: var(--nodum-ink-4);
}
.nd-input:hover {
  border-color: var(--nodum-line-strong);
}
.nd-input:focus {
  border-color: var(--nodum-accent);
  box-shadow: var(--nodum-shadow-focus);
  background: var(--nodum-surface);
}
.nd-field--search .nd-input {
  padding-left: 38px;
}
.nd-select {
  appearance: none;
  -webkit-appearance: none;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'><path fill='none' stroke='%236B7480' stroke-width='1.5' d='M2 4l3 3 3-3'/></svg>") no-repeat right 12px center, var(--nodum-paper);
  border: 1px solid var(--nodum-line);
  border-radius: var(--nodum-radius);
  height: 38px;
  padding: 0 32px 0 12px;
  font: inherit;
  font-size: 14px;
  color: var(--nodum-ink);
  cursor: pointer;
  outline: none;
  transition: border-color 150ms ease, box-shadow 150ms ease;
  font-variant-numeric: tabular-nums;
}
.nd-select:hover {
  border-color: var(--nodum-line-strong);
}
.nd-select:focus {
  border-color: var(--nodum-accent);
  box-shadow: var(--nodum-shadow-focus);
}
.nd-select--year {
  width: 96px;
  font-family: var(--nodum-font-mono);
  font-weight: 500;
}
.nd-select--period {
  width: 132px;
}
.nd-btn {
  appearance: none;
  border: 1px solid var(--nodum-line);
  background: var(--nodum-paper);
  height: 38px;
  padding: 0 14px;
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  color: var(--nodum-ink-2);
  border-radius: var(--nodum-radius);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 150ms ease;
}
.nd-btn:hover {
  border-color: var(--nodum-line-strong);
  color: var(--nodum-ink);
  background: var(--nodum-surface);
}
.nd-btn:focus-visible {
  outline: none;
  box-shadow: var(--nodum-shadow-focus);
  border-color: var(--nodum-accent);
}
.nd-btn .material-symbols-outlined {
  font-size: 16px;
}
.nd-btn:disabled {
  opacity: 0.45;
  cursor: default;
  pointer-events: none;
}
.nd-btn--primary {
  background: var(--nodum-accent);
  color: var(--nodum-paper);
  border-color: var(--nodum-accent);
}
.nd-btn--primary:hover {
  background: var(--nodum-accent-hover);
  border-color: var(--nodum-accent-hover);
  color: var(--nodum-paper);
}
.nd-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 10px 4px 8px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: -0.005em;
  border-radius: 4px;
  border: 1px solid transparent;
  white-space: nowrap;
}
.nd-chip__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.nd-chip--ok {
  background: var(--nodum-ok-soft);
  color: var(--nodum-ok);
  border-color: rgba(44, 107, 79, 0.15);
}
.nd-chip--ok .nd-chip__dot {
  background: var(--nodum-ok);
}
.nd-chip--warn {
  background: var(--nodum-warn-soft);
  color: var(--nodum-warn);
  border-color: rgba(138, 90, 31, 0.15);
}
.nd-chip--warn .nd-chip__dot {
  background: var(--nodum-warn);
}
.nd-chip--crit {
  background: var(--nodum-crit-soft);
  color: var(--nodum-crit);
  border-color: rgba(139, 46, 46, 0.15);
}
.nd-chip--crit .nd-chip__dot {
  background: var(--nodum-crit);
}
.nd-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.nd-table thead th {
  position: sticky;
  top: 0;
  background: var(--nodum-surface);
  text-align: left;
  font-family: var(--nodum-font-mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--nodum-ink-3);
  padding: 14px 16px;
  border-bottom: 1px solid var(--nodum-line);
  vertical-align: middle;
  white-space: nowrap;
}
.nd-table thead th.col-form,
.nd-table thead th.col-appendix {
  text-align: center;
  padding: 14px 8px;
  width: 56px;
}
.nd-table thead th.col-status {
  text-align: left;
  width: 140px;
  padding-left: 24px;
}
.nd-table thead th.col-actions {
  width: 48px;
}
.nd-table thead th.col-divider {
  width: 1px;
  padding: 0;
  background: var(--nodum-line);
}
.nd-table tbody tr {
  transition: background-color 120ms ease;
}
.nd-table tbody tr:hover {
  background: var(--nodum-surface-2);
}
.nd-table tbody tr.row-crit:hover {
  background: #FAF1F0;
}
.nd-table tbody td {
  padding: 16px;
  border-bottom: 1px solid var(--nodum-line);
  vertical-align: middle;
}
.nd-table tbody td.col-form,
.nd-table tbody td.col-appendix {
  text-align: center;
  padding: 16px 8px;
}
.nd-table tbody td.col-status {
  padding-left: 24px;
}
.nd-table tbody td.col-divider {
  width: 1px;
  padding: 0;
  background: var(--nodum-line);
}
.nd-table tbody tr:last-child td {
  border-bottom: 0;
}
.nd-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  position: relative;
  transition: transform 120ms ease;
}
.nd-mark .material-symbols-outlined {
  font-size: 18px;
  font-variation-settings: "FILL" 1, "wght" 500;
  position: relative;
  z-index: 1;
}
.nd-mark--submitted {
  color: var(--nodum-ok);
}
.nd-mark--submitted::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: var(--nodum-ok-soft);
  z-index: 0;
}
.nd-mark--missing {
  color: var(--nodum-ink-4);
}
.nd-mark--missing .material-symbols-outlined {
  display: none;
}
.nd-mark--missing::after {
  content: "";
  width: 10px;
  height: 10px;
  border: 1.5px dashed var(--nodum-ink-4);
  border-radius: 50%;
  display: block;
}
.nd-table tbody tr:hover .nd-mark--submitted {
  transform: scale(1.05);
}
:root {
  --mat-paginator-container-background-color: var(--nodum-surface);
  --mat-paginator-container-text-color: var(--nodum-ink-3);
  --mat-paginator-container-text-font: var(--nodum-font-mono);
  --mat-paginator-container-text-size: 12px;
  --mat-paginator-container-text-weight: 400;
  --mat-paginator-enabled-icon-color: var(--nodum-ink-2);
  --mat-paginator-disabled-icon-color: var(--nodum-ink-4);
}
.nd-paginator-wrap {
  display: block;
  border: 1px solid var(--nodum-line);
  border-top: 0;
  border-radius: 0 0 var(--nodum-radius-lg) var(--nodum-radius-lg);
  margin-top: -1px;
  background: var(--nodum-surface);
  font-variant-numeric: tabular-nums;
}
.nd-entity {
  display: block;
  min-width: 0;
  text-decoration: none;
}
.nd-entity__name {
  display: block;
  font-weight: 500;
  font-size: 14px;
  color: var(--nodum-ink);
  letter-spacing: -0.005em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 360px;
  transition: color 120ms ease;
}
.nd-entity:hover .nd-entity__name {
  color: var(--nodum-accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.nd-entity__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 3px;
}
.nd-entity__id {
  font-family: var(--nodum-font-mono);
  font-size: 12px;
  color: var(--nodum-ink-3);
  font-variant-numeric: tabular-nums;
}
.nd-entity__tag {
  font-family: var(--nodum-font-mono);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--nodum-ink-3);
  padding: 1px 6px;
  border: 1px solid var(--nodum-line);
  border-radius: 3px;
}
.nd-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 1px solid var(--nodum-line);
  border-radius: var(--nodum-radius-lg);
  background: var(--nodum-surface);
  overflow: hidden;
  box-shadow: var(--nodum-shadow-1);
}
.nd-summary__cell {
  padding: 24px 28px;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4px;
  border-right: 1px solid var(--nodum-line);
}
.nd-summary__cell:last-child {
  border-right: 0;
}
.nd-summary__cell::before {
  content: "";
  position: absolute;
  top: 24px;
  left: 0;
  width: 3px;
  height: 28px;
  border-radius: 0 2px 2px 0;
  background: var(--nodum-line-strong);
}
.nd-summary__cell--ok::before {
  background: var(--nodum-ok);
}
.nd-summary__cell--warn::before {
  background: var(--nodum-warn);
}
.nd-summary__cell--crit::before {
  background: var(--nodum-crit);
}
.nd-summary__label {
  font-family: var(--nodum-font-mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--nodum-ink-3);
  margin: 0;
}
.nd-summary__value {
  font-family: var(--nodum-font-display);
  font-weight: 600;
  font-size: 48px;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--nodum-ink);
  font-variant-numeric: tabular-nums;
  margin: 6px 0 2px;
}
.nd-summary__hint {
  font-size: 13px;
  color: var(--nodum-ink-3);
  margin: 0;
}
.nd-summary__share {
  position: absolute;
  top: 24px;
  right: 28px;
  font-family: var(--nodum-font-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--nodum-ink-3);
  font-variant-numeric: tabular-nums;
}
.t-32 {
  font-size: 32px;
  line-height: 1.15;
  font-weight: 600;
  letter-spacing: -0.01em;
}
.t-24 {
  font-size: 24px;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: -0.005em;
}
.t-18 {
  font-size: 18px;
  line-height: 1.3;
  font-weight: 600;
}
.t-14 {
  font-size: 14px;
  line-height: 1.45;
  font-weight: 400;
}
.t-12 {
  font-size: 12px;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0.01em;
}
.page-head {
  display: flex;
  align-items: flex-end;
  gap: 18px;
  margin-bottom: 28px;
}
.page-head h1 {
  margin: 0;
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: 1.1;
}
.page-head .desc {
  color: var(--muted);
  font-size: 14px;
  margin-top: 8px;
}
.page-head .right {
  margin-left: auto;
  display: flex;
  gap: 8px;
  align-items: center;
}
.card {
  background: var(--surface);
  border-radius: var(--r-lg);
  box-shadow: var(--sh-2);
  padding: 24px;
}
.card.tight {
  padding: 20px;
}
.card.glass {
  background: var(--glass);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  box-shadow: var(--sh-glass);
  border: 1px solid var(--glass-line);
}
.card-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}
.card-head h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}
.card-head .desc {
  font-size: 12px;
  color: var(--muted);
}
.kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.kpi {
  background: var(--surface);
  border-radius: var(--r-lg);
  padding: 24px;
  box-shadow: var(--sh-2);
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 148px;
}
.kpi .lbl {
  font-size: 12px;
  color: var(--muted);
  font-weight: 500;
  letter-spacing: 0.01em;
}
.kpi .num {
  font-size: 36px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--ink);
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.kpi .sub {
  font-size: 12px;
  color: var(--muted);
  margin-top: auto;
}
.kpi .ring {
  position: absolute;
  top: 20px;
  right: 20px;
}
.kpi.mint {
  background:
    linear-gradient(
      135deg,
      var(--mint) 0%,
      #d6e9d4 100%);
  color: var(--mint-ink);
}
.kpi.mint .lbl {
  color: var(--mint-ink);
  opacity: 0.7;
}
.kpi.mint .num {
  color: var(--mint-ink);
}
.kpi.mint .sub {
  color: var(--mint-ink);
  opacity: 0.7;
}
.kpi.lime {
  background:
    linear-gradient(
      135deg,
      var(--lime) 0%,
      #eef195 100%);
  color: var(--lime-ink);
}
.kpi.lime .lbl {
  color: var(--lime-ink);
  opacity: 0.75;
}
.kpi.lime .num {
  color: var(--lime-ink);
}
.kpi.lime .sub {
  color: var(--lime-ink);
  opacity: 0.75;
}
.delta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11.5px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: var(--r-pill);
}
.delta.up {
  background: var(--mint);
  color: var(--mint-ink);
}
.delta.down {
  background: var(--pink);
  color: var(--pink-ink);
}
.delta.flat {
  background: var(--neutral);
  color: var(--neutral-ink);
}
.pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 11px;
  border-radius: var(--r-pill);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.005em;
}
.pill .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
}
.pill.mint {
  background: var(--mint);
  color: var(--mint-ink);
}
.pill.mint .dot {
  background: var(--mint-ink);
}
.pill.pink {
  background: var(--pink);
  color: var(--pink-ink);
}
.pill.pink .dot {
  background: var(--pink-ink);
}
.pill.blue {
  background: var(--blue);
  color: var(--blue-ink);
}
.pill.blue .dot {
  background: var(--blue-ink);
}
.pill.purple {
  background: var(--purple);
  color: var(--purple-ink);
}
.pill.purple .dot {
  background: var(--purple-ink);
}
.pill.peach {
  background: var(--peach);
  color: var(--peach-ink);
}
.pill.peach .dot {
  background: var(--peach-ink);
}
.pill.lime {
  background: var(--lime);
  color: var(--lime-ink);
}
.pill.lime .dot {
  background: var(--lime-ink);
}
.pill.neutral {
  background: var(--neutral);
  color: var(--neutral-ink);
}
.pill.neutral .dot {
  background: var(--muted);
}
.pill.outline {
  background: transparent;
  box-shadow: inset 0 0 0 1px var(--line);
  color: var(--body);
}
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: var(--r-pill);
  font-size: 13.5px;
  font-weight: 600;
  background: var(--surface);
  color: var(--ink);
  border: 0;
  box-shadow: var(--sh-1);
  cursor: pointer;
  transition: all 0.15s;
}
.btn:hover {
  background: var(--surface-soft);
}
.btn.primary {
  background: var(--ink);
  color: #fff;
}
.btn.primary:hover {
  background: #000;
}
.btn.mint {
  background: var(--mint);
  color: var(--mint-ink);
}
.btn.mint:hover {
  background: var(--mint-2);
}
.btn.lime {
  background: var(--lime);
  color: var(--lime-ink);
}
.btn.ghost {
  background: transparent;
  box-shadow: none;
  color: var(--body);
}
.btn.ghost:hover {
  background: rgba(0, 0, 0, 0.04);
}
.btn.warn {
  background: var(--pink);
  color: var(--pink-ink);
}
.btn.warn:hover {
  background: #efc8cc;
}
.btn.outline {
  background: transparent;
  box-shadow: inset 0 0 0 1.5px var(--line);
  color: var(--body);
}
.btn.outline:hover {
  background: var(--surface-soft);
}
.btn.sm {
  padding: 7px 12px;
  font-size: 12.5px;
}
.btn .ic {
  width: 16px;
  height: 16px;
  stroke-width: 1.7;
}
.btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.tabs {
  display: flex;
  gap: 4px;
  background: var(--surface-soft);
  border-radius: var(--r-pill);
  padding: 4px;
  width: fit-content;
}
.tab {
  padding: 8px 16px;
  border-radius: var(--r-pill);
  font-size: 13px;
  font-weight: 600;
  background: transparent;
  border: 0;
  color: var(--muted);
  transition: all 0.15s;
}
.tab:hover {
  color: var(--ink-2);
}
.tab.active {
  background: var(--surface);
  color: var(--ink);
  box-shadow: var(--sh-1);
}
.input,
.select {
  height: 40px;
  padding: 0 16px;
  border: 0;
  border-radius: var(--r-pill);
  background: var(--surface);
  box-shadow: var(--sh-1);
  font-size: 13.5px;
  color: var(--ink);
  outline: 0;
}
.input:focus,
.select:focus {
  box-shadow: var(--sh-1), 0 0 0 3px var(--mint-soft);
}
.select {
  appearance: none;
  padding-right: 36px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238a8a8a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
}
.track {
  height: 8px;
  background: var(--canvas-2);
  border-radius: var(--r-pill);
  overflow: hidden;
  position: relative;
}
.track .fill {
  height: 100%;
  background: var(--mint-ink);
  border-radius: var(--r-pill);
  transition: width 0.4s;
}
.track.mint .fill {
  background: var(--mint-ink);
}
.track.lime .fill {
  background: var(--lime-ink);
}
.track.pink .fill {
  background: var(--pink-ink);
}
.track.blue .fill {
  background: var(--blue-ink);
}
.track.purple .fill {
  background: var(--purple-ink);
}
.timeline {
  position: relative;
  padding-left: 18px;
}
.timeline::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 4px;
  bottom: 4px;
  width: 1px;
  background: var(--line);
}
.tl-item {
  position: relative;
  padding: 8px 0 18px;
}
.tl-item:last-child {
  padding-bottom: 0;
}
.tl-item::before {
  content: "";
  position: absolute;
  left: -18px;
  top: 12px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: var(--surface);
  box-shadow: 0 0 0 2px var(--mint-ink);
}
.tl-item.urgent::before {
  background: var(--lime);
  box-shadow: 0 0 0 2px var(--lime-ink);
}
.tl-item.warn::before {
  background: var(--peach);
  box-shadow: 0 0 0 2px var(--peach-ink);
}
.tl-item .ttl {
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
}
.tl-item .meta {
  font-size: 12px;
  color: var(--muted);
  margin-top: 3px;
}
.tl-item .days {
  font-size: 12px;
  font-weight: 600;
  margin-top: 6px;
}
.activity-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 14px 0;
  border-bottom: 1px solid var(--line-2);
}
.activity-item:last-child {
  border-bottom: 0;
}
.activity-item .av {
  width: 36px;
  height: 36px;
  border-radius: var(--r-pill);
  background: var(--neutral);
  color: var(--ink-2);
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 700;
  flex: 0 0 36px;
}
.activity-item .av.mint {
  background: var(--mint);
  color: var(--mint-ink);
}
.activity-item .av.blue {
  background: var(--blue);
  color: var(--blue-ink);
}
.activity-item .av.purple {
  background: var(--purple);
  color: var(--purple-ink);
}
.activity-item .av.peach {
  background: var(--peach);
  color: var(--peach-ink);
}
.activity-item .body {
  flex: 1;
  min-width: 0;
}
.activity-item .who {
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
}
.activity-item .what {
  font-size: 13px;
  color: var(--body);
  margin-top: 2px;
}
.activity-item .when {
  font-size: 12px;
  color: var(--muted-2);
  margin-top: 4px;
}
.entity-card {
  background: var(--surface);
  border-radius: var(--r-lg);
  padding: 22px;
  box-shadow: var(--sh-2);
  display: flex;
  flex-direction: column;
  gap: 16px;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
}
.entity-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--sh-3);
}
.entity-card .crest {
  width: 44px;
  height: 44px;
  border-radius: var(--r-md);
  display: grid;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
}
.entity-card .crest.mint {
  background: var(--mint);
  color: var(--mint-ink);
}
.entity-card .crest.blue {
  background: var(--blue);
  color: var(--blue-ink);
}
.entity-card .crest.purple {
  background: var(--purple);
  color: var(--purple-ink);
}
.entity-card .crest.peach {
  background: var(--peach);
  color: var(--peach-ink);
}
.entity-card .name {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.25;
}
.entity-card .meta {
  display: flex;
  gap: 14px;
  font-size: 12px;
  color: var(--muted);
}
.kanban {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.kan-col {
  background: var(--surface-soft);
  border-radius: var(--r-lg);
  padding: 16px;
  min-height: 600px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.kan-col .head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 6px 8px;
}
.kan-col .head .ttl {
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
}
.kan-col .head .cnt {
  margin-left: auto;
  font-size: 11.5px;
  font-weight: 600;
  padding: 2px 9px;
  border-radius: var(--r-pill);
  background: var(--surface);
  color: var(--muted);
}
.kan-card {
  background: var(--surface);
  border-radius: var(--r-md);
  padding: 14px;
  box-shadow: var(--sh-1);
  cursor: pointer;
  transition: transform 0.15s, box-shadow 0.15s;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.kan-card:hover {
  transform: translateY(-1px);
  box-shadow: var(--sh-2);
}
.kan-card .ttl {
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.3;
}
.kan-card .meta {
  font-size: 11.5px;
  color: var(--muted);
}
.kan-card .foot {
  display: flex;
  align-items: center;
  gap: 8px;
}
.kan-card .av {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--neutral);
  color: var(--ink-2);
  display: grid;
  place-items: center;
  font-size: 10px;
  font-weight: 700;
}
.kan-card.urgent {
  box-shadow: inset 0 0 0 1.5px var(--lime), var(--sh-1);
}
.t-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 13.5px;
}
.t-table th {
  text-align: left;
  padding: 12px 18px;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--muted);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--line-2);
}
.t-table td {
  padding: 16px 18px;
  border-bottom: 1px solid var(--line-2);
  vertical-align: middle;
  font-weight: 500;
}
.t-table tbody tr:last-child td {
  border-bottom: 0;
}
.t-table tbody tr:hover td {
  background: var(--surface-soft);
}
.t-table .num {
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.grid-3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
}
.grid-3-1 {
  display: grid;
  grid-template-columns: 3fr 1fr;
  gap: 16px;
}
.grid-2-1 {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 16px;
}
.grid-3-2 {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: 16px;
}
.back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--muted);
  background: transparent;
  border: 0;
  padding: 0;
  margin-bottom: 16px;
}
.back-link:hover {
  color: var(--ink);
}
.entity-hero {
  background: var(--surface);
  border-radius: var(--r-xl);
  padding: 28px;
  box-shadow: var(--sh-2);
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 24px;
}
.entity-hero .crest {
  width: 64px;
  height: 64px;
  border-radius: var(--r-lg);
  display: grid;
  place-items: center;
  font-size: 18px;
  font-weight: 700;
  background: var(--mint);
  color: var(--mint-ink);
}
.entity-hero h2 {
  margin: 0;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.15;
}
.entity-hero .meta {
  color: var(--muted);
  font-size: 13px;
  margin-top: 8px;
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}
.entity-hero .meta b {
  color: var(--ink);
  font-weight: 600;
}
.entity-hero .right {
  margin-left: auto;
  display: flex;
  gap: 8px;
}
.kvp {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 12px 24px;
}
.kvp .k {
  color: var(--muted);
  font-size: 13px;
  padding: 6px 0;
}
.kvp .v {
  color: var(--ink);
  font-size: 13.5px;
  padding: 6px 0;
  font-weight: 500;
}
.row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.col {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.gap-4 {
  gap: 4px;
}
.gap-8 {
  gap: 8px;
}
.gap-12 {
  gap: 12px;
}
.gap-16 {
  gap: 16px;
}
.ml-auto {
  margin-left: auto;
}
.mb-16 {
  margin-bottom: 16px;
}
.mb-24 {
  margin-bottom: 24px;
}
.mb-28 {
  margin-bottom: 28px;
}
.chart-wrap {
  position: relative;
  height: 280px;
}
.chart-wrap.short {
  height: 200px;
}
.chart-wrap.tall {
  height: 340px;
}
.chart-wrap.donut {
  height: 240px;
}
.empty {
  padding: 40px;
  text-align: center;
  color: var(--muted);
  font-size: 13px;
  background: var(--surface-soft);
  border-radius: var(--r-md);
}
.prog-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line-2);
}
.prog-row:last-child {
  border-bottom: 0;
}
.prog-row .top {
  display: flex;
  align-items: baseline;
}
.prog-row .name {
  font-size: 13.5px;
  font-weight: 500;
  color: var(--ink);
}
.prog-row .val {
  margin-left: auto;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.prog-row .meta {
  font-size: 11.5px;
  color: var(--muted);
}
.app {
  display: grid;
  grid-template-columns: 240px 1fr;
  min-height: 100vh;
}
.sidebar {
  background: var(--canvas);
  padding: 24px 16px;
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.sb-brand {
  padding: 4px 8px 22px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.sb-brand .mark {
  width: 168px;
  color: var(--ink);
}
.sb-brand .sub {
  font-size: 11.5px;
  color: var(--muted);
  letter-spacing: 0.01em;
  display: flex;
  align-items: center;
  gap: 6px;
  padding-left: 2px;
}
.sb-brand .sub .bar {
  color: var(--muted-2);
}
.sb-brand .sub .on {
  color: var(--mint-ink);
  font-weight: 600;
  background: var(--mint);
  padding: 2px 8px;
  border-radius: var(--r-pill);
}
.sb-section {
  padding: 18px 12px 6px;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted-2);
}
.sb-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: var(--r-sm);
  font-size: 14px;
  font-weight: 500;
  color: var(--body);
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  transition: background 0.15s, color 0.15s;
}
.sb-item:hover {
  background: rgba(0, 0, 0, 0.03);
  color: var(--ink);
}
.sb-item.active {
  background: var(--surface);
  color: var(--ink);
  box-shadow: var(--sh-2);
}
.sb-item .ic {
  width: 18px;
  height: 18px;
  stroke-width: 1.5;
  flex: 0 0 18px;
  color: var(--muted);
}
.sb-item:hover .ic {
  color: var(--ink-2);
}
.sb-item.active .ic {
  color: var(--mint-ink);
}
.sb-item .badge-new {
  margin-left: auto;
  font-size: 9.5px;
  padding: 2px 7px;
  background: var(--lime);
  color: var(--lime-ink);
  border-radius: var(--r-pill);
  font-weight: 700;
  letter-spacing: 0.04em;
}
.sb-foot {
  margin-top: auto;
  padding: 12px;
  background: var(--surface);
  border-radius: var(--r-md);
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: var(--sh-1);
}
.sb-foot .av {
  width: 32px;
  height: 32px;
  border-radius: var(--r-pill);
  background: var(--mint);
  color: var(--mint-ink);
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 700;
}
.sb-foot .who {
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
}
.sb-foot .org {
  font-size: 11.5px;
  color: var(--muted);
  margin-top: 1px;
}
.main {
  background: var(--canvas);
  min-width: 0;
  padding: 24px 28px 60px;
}
.topbar {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 28px;
}
.topbar .search {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--surface);
  border-radius: var(--r-pill);
  padding: 10px 18px;
  width: 360px;
  box-shadow: var(--sh-1);
}
.topbar .search input {
  background: transparent;
  border: 0;
  outline: none;
  width: 100%;
  font-size: 14px;
}
.topbar .search input::placeholder {
  color: var(--muted-2);
}
.topbar .icon-btn {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  background: var(--surface);
  border: 0;
  border-radius: var(--r-pill);
  color: var(--ink-2);
  box-shadow: var(--sh-1);
}
.topbar .icon-btn:hover {
  background: var(--surface-soft);
}
.topbar .av {
  width: 40px;
  height: 40px;
  border-radius: var(--r-pill);
  background: var(--mint);
  color: var(--mint-ink);
  display: grid;
  place-items: center;
  font-size: 13px;
  font-weight: 700;
  box-shadow: var(--sh-1);
}
.topbar .ml-auto {
  margin-left: auto;
}
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html {
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body {
  font-family:
    "Inter",
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  color: var(--ink);
  background: var(--canvas);
}
img {
  max-width: 100%;
  height: auto;
  display: block;
}
button {
  font-family: inherit;
  cursor: pointer;
}
.mat-mdc-button,
.mat-mdc-icon-button {
  font-family:
    "Inter",
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;
}
html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
}
body {
  font-family: var(--font-body);
  background-color: var(--canvas);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "ss01";
}

/* angular:styles/global:styles */
/*# sourceMappingURL=styles.css.map */
