/* Hypermap UI CSS Bundle - 2026-03-23T07:37:32.944Z */

/* --- plugins/datepicker/yearpicker.css --- */
:root {
    --background-color: #fff;
    --border-color: #ccc;
    --text-color: #555;
    --selected-text-color: rgb(56, 241, 164);
    --hover-background-color: #eee;
}

.yearpicker-container {
    position: absolute;
    color: var(--text-color);
    width: 280px;
    border: 1px solid var(--border-color);
    border-radius: 3px;
    font-size: 1rem;
    box-shadow: 1px 1px 8px 0px rgba(0, 0, 0, 0.2);
    background-color: var(--background-color);
    z-index: 10;
    margin-top: 0.2rem;
}

.yearpicker-header {
    display: flex;
    width: 100%;
    height: 2.5rem;
    border-bottom: 1px solid var(--border-color);
    align-items: center;
    justify-content: space-around;
}

.yearpicker-prev,
.yearpicker-next {
    cursor: pointer;
    font-size: 2rem;
}

.yearpicker-prev:hover,
.yearpicker-next:hover {
    color: var(--selected-text-color);
}

.yearpicker-year {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0.5rem;
}

.yearpicker-items {
    list-style: none;
    padding: 1rem 0.9rem;
    flex: 0 0 33.3%;
    width: 100%;
}

.yearpicker-items:hover {
    background-color: var(--hover-background-color);
    color: var(--selected-text-color);
    cursor: pointer;
}

.yearpicker-items.selected {
    color: var(--selected-text-color);
}

.hide {
    display: none;
}

.yearpicker-items.disabled {
    pointer-events: none;
    color: #bbb;
}

/* --- plugins/datepicker/datepicker.css --- */
@charset "UTF-8";

/* Native DatePicker (MonthPicker / QuarterPicker) */
.datepicker-container {
    position: absolute;
    color: #555;
    width: 280px;
    border: 1px solid #ccc;
    border-radius: 3px;
    font-size: 1rem;
    box-shadow: 1px 1px 8px 0px rgba(0, 0, 0, 0.2);
    background-color: #fff;
    z-index: 10;
    margin-top: 0.2rem;
}

.datepicker-container.hide {
    display: none;
}

.datepicker-header {
    display: flex;
    width: 100%;
    height: 2.5rem;
    border-bottom: 1px solid #ccc;
    align-items: center;
    justify-content: space-around;
}

.datepicker-prev,
.datepicker-next {
    cursor: pointer;
    font-size: 2rem;
}

.datepicker-prev:hover,
.datepicker-next:hover {
    color: rgb(56, 241, 164);
}

.datepicker-prev.disabled,
.datepicker-next.disabled {
    pointer-events: none;
    color: #bbb;
}

.datepicker-title {
    font-size: 1rem;
    font-weight: bold;
}

.datepicker-body {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0.5rem;
}

.datepicker-item {
    display: inline-block;
    list-style: none;
    padding: 0.8rem 0.5rem;
    flex: 0 0 33.3%;
    width: 100%;
    box-sizing: border-box;
    cursor: pointer;
}

.datepicker-item:hover {
    background-color: #eee;
    color: rgb(56, 241, 164);
}

.datepicker-item.selected {
    color: rgb(56, 241, 164);
}

.datepicker-item.disabled {
    pointer-events: none;
    color: #bbb;
}

.datepicker-body--quarter .datepicker-item {
    flex: 0 0 50%;
    padding: 1rem 0.5rem;
}

/* --- plugins/highcharts/Highcharts-10.3.3/code/css/highcharts.css --- */
/**
 * @license Highcharts
 *
 * (c) 2009-2016 Torstein Honsi
 *
 * License: www.highcharts.com/license
 */
.highcharts-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  text-align: left;
  line-height: normal;
  z-index: 0; /* #1072 */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  font-family: "Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif;
  font-size: 12px;
  user-select: none;
  touch-action: manipulation;
  outline: none;
}

.highcharts-root {
  display: block;
}

.highcharts-root text {
  stroke-width: 0;
}

.highcharts-strong {
  font-weight: bold;
}

.highcharts-emphasized {
  font-style: italic;
}

.highcharts-anchor {
  cursor: pointer;
}

.highcharts-background {
  fill: #ffffff;
}

.highcharts-plot-border, .highcharts-plot-background {
  fill: none;
}

.highcharts-label-box {
  fill: none;
}

.highcharts-button-box {
  fill: inherit;
}

.highcharts-tracker-line {
  stroke-linejoin: round;
  stroke: rgba(192, 192, 192, 0.0001);
  stroke-width: 22;
  fill: none;
}

.highcharts-tracker-area {
  fill: rgba(192, 192, 192, 0.0001);
  stroke-width: 0;
}

/* Titles */
.highcharts-title {
  fill: #333333;
  font-size: 1.5em;
}

.highcharts-subtitle {
  fill: #666666;
  font-size: 1em;
}

/* Axes */
.highcharts-axis-line {
  fill: none;
  stroke: #ccd6eb;
}

.highcharts-yaxis .highcharts-axis-line {
  stroke-width: 0;
}

.highcharts-axis-title {
  fill: #666666;
}

.highcharts-axis-labels {
  fill: #666666;
  cursor: default;
  font-size: 0.9em;
}

.highcharts-grid-line {
  fill: none;
  stroke: #e6e6e6;
}

.highcharts-xaxis-grid .highcharts-grid-line {
  stroke-width: 0px;
}

.highcharts-tick {
  stroke: #ccd6eb;
}

.highcharts-yaxis .highcharts-tick {
  stroke-width: 0;
}

.highcharts-minor-grid-line {
  stroke: #f2f2f2;
}

.highcharts-crosshair-thin {
  stroke-width: 1px;
  stroke: #cccccc;
}

.highcharts-crosshair-category {
  stroke: #ccd6eb;
  stroke-opacity: 0.25;
}

/* Credits */
.highcharts-credits {
  cursor: pointer;
  fill: #999999;
  font-size: 0.7em;
  transition: fill 250ms, font-size 250ms;
}

.highcharts-credits:hover {
  fill: black;
  font-size: 1em;
}

/* Tooltip */
.highcharts-tooltip {
  cursor: default;
  pointer-events: none;
  white-space: nowrap;
  transition: stroke 150ms;
}

.highcharts-tooltip text {
  fill: #333333;
}

.highcharts-tooltip .highcharts-header {
  font-size: 0.85em;
}

.highcharts-tooltip-box {
  stroke-width: 1px;
  fill: #f7f7f7;
  fill-opacity: 0.85;
}

.highcharts-tooltip-box .highcharts-label-box {
  fill: #f7f7f7;
  fill-opacity: 0.85;
}

div.highcharts-tooltip {
  filter: none;
}

.highcharts-selection-marker {
  fill: #335cad;
  fill-opacity: 0.25;
}

.highcharts-graph {
  fill: none;
  stroke-width: 2px;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.highcharts-empty-series {
  stroke-width: 1px;
  fill: none;
  stroke: #cccccc;
}

.highcharts-state-hover .highcharts-graph {
  stroke-width: 3;
}

.highcharts-point-inactive {
  opacity: 0.2;
  transition: opacity 50ms; /* quick in */
}

.highcharts-series-inactive {
  opacity: 0.2;
  transition: opacity 50ms; /* quick in */
}

.highcharts-state-hover path {
  transition: stroke-width 50ms; /* quick in */
}

.highcharts-state-normal path {
  transition: stroke-width 250ms; /* slow out */
}

/* Legend hover affects points and series */
g.highcharts-series,
.highcharts-point,
.highcharts-markers,
.highcharts-data-labels {
  transition: opacity 250ms;
}

.highcharts-legend-series-active g.highcharts-series:not(.highcharts-series-hover),
.highcharts-legend-point-active .highcharts-point:not(.highcharts-point-hover),
.highcharts-legend-series-active .highcharts-markers:not(.highcharts-series-hover),
.highcharts-legend-series-active .highcharts-data-labels:not(.highcharts-series-hover) {
  opacity: 0.2;
}

/* Series options */
/* Default colors */
.highcharts-color-0 {
  fill: #7cb5ec;
  stroke: #7cb5ec;
}

.highcharts-color-1 {
  fill: #434348;
  stroke: #434348;
}

.highcharts-color-2 {
  fill: #90ed7d;
  stroke: #90ed7d;
}

.highcharts-color-3 {
  fill: #f7a35c;
  stroke: #f7a35c;
}

.highcharts-color-4 {
  fill: #8085e9;
  stroke: #8085e9;
}

.highcharts-color-5 {
  fill: #f15c80;
  stroke: #f15c80;
}

.highcharts-color-6 {
  fill: #e4d354;
  stroke: #e4d354;
}

.highcharts-color-7 {
  fill: #2b908f;
  stroke: #2b908f;
}

.highcharts-color-8 {
  fill: #f45b5b;
  stroke: #f45b5b;
}

.highcharts-color-9 {
  fill: #91e8e1;
  stroke: #91e8e1;
}

.highcharts-area {
  fill-opacity: 0.75;
  stroke-width: 0;
}

.highcharts-markers {
  stroke-width: 1px;
  stroke: #ffffff;
}

.highcharts-a11y-markers-hidden .highcharts-point:not(.highcharts-point-hover):not(.highcharts-a11y-marker-visible),
.highcharts-a11y-marker-hidden {
  opacity: 0;
}

.highcharts-point {
  stroke-width: 1px;
}

.highcharts-dense-data .highcharts-point {
  stroke-width: 0;
}

.highcharts-data-label {
  font-size: 0.9em;
  font-weight: bold;
}

.highcharts-data-label-box {
  fill: none;
  stroke-width: 0;
}

.highcharts-data-label text, text.highcharts-data-label {
  fill: #333333;
}

.highcharts-data-label-connector {
  fill: none;
}

.highcharts-data-label-hidden {
  pointer-events: none;
}

.highcharts-halo {
  fill-opacity: 0.25;
  stroke-width: 0;
}

.highcharts-series:not(.highcharts-pie-series) .highcharts-point-select,
.highcharts-markers .highcharts-point-select {
  fill: #cccccc;
  stroke: #000000;
}

.highcharts-column-series rect.highcharts-point {
  stroke: #ffffff;
}

.highcharts-column-series .highcharts-point {
  transition: fill-opacity 250ms;
}

.highcharts-column-series .highcharts-point-hover {
  fill-opacity: 0.75;
  transition: fill-opacity 50ms;
}

.highcharts-pie-series .highcharts-point {
  stroke-linejoin: round;
  stroke: #ffffff;
}

.highcharts-pie-series .highcharts-point-hover {
  fill-opacity: 0.75;
  transition: fill-opacity 50ms;
}

.highcharts-funnel-series .highcharts-point {
  stroke-linejoin: round;
  stroke: #ffffff;
}

.highcharts-funnel-series .highcharts-point-hover {
  fill-opacity: 0.75;
  transition: fill-opacity 50ms;
}

.highcharts-funnel-series .highcharts-point-select {
  fill: inherit;
  stroke: inherit;
}

.highcharts-pyramid-series .highcharts-point {
  stroke-linejoin: round;
  stroke: #ffffff;
}

.highcharts-pyramid-series .highcharts-point-hover {
  fill-opacity: 0.75;
  transition: fill-opacity 50ms;
}

.highcharts-pyramid-series .highcharts-point-select {
  fill: inherit;
  stroke: inherit;
}

.highcharts-solidgauge-series .highcharts-point {
  stroke-width: 0;
}

.highcharts-treemap-series .highcharts-point {
  stroke-width: 1px;
  stroke: #e6e6e6;
  transition: stroke 250ms, fill 250ms, fill-opacity 250ms;
}

.highcharts-treemap-series .highcharts-point-hover {
  stroke: #999999;
  transition: stroke 25ms, fill 25ms, fill-opacity 25ms;
}

.highcharts-treemap-series .highcharts-above-level {
  display: none;
}

.highcharts-treemap-series .highcharts-internal-node {
  fill: none;
}

.highcharts-treemap-series .highcharts-internal-node-interactive {
  fill-opacity: 0.15;
  cursor: pointer;
}

.highcharts-treemap-series .highcharts-internal-node-interactive:hover {
  fill-opacity: 0.75;
}

.highcharts-vector-series .highcharts-point {
  fill: none;
  stroke-width: 2px;
}

.highcharts-windbarb-series .highcharts-point {
  fill: none;
  stroke-width: 2px;
}

.highcharts-lollipop-stem {
  stroke: #000000;
}

.highcharts-focus-border {
  fill: none;
  stroke-width: 2px;
}

.highcharts-legend-item-hidden .highcharts-focus-border {
  fill: none !important;
}

/* Legend */
.highcharts-legend-box {
  fill: none;
  stroke-width: 0;
}

.highcharts-legend-item > text {
  fill: #333333;
  font-weight: bold;
  font-size: 1em;
  cursor: pointer;
  stroke-width: 0;
}

.highcharts-legend-item:hover text {
  fill: #000000;
}

.highcharts-legend-item-hidden * {
  fill: #cccccc !important;
  stroke: #cccccc !important;
  transition: fill 250ms;
}

.highcharts-legend-nav-active {
  fill: #003399;
  cursor: pointer;
}

.highcharts-legend-nav-inactive {
  fill: #cccccc;
}

circle.highcharts-legend-nav-active, circle.highcharts-legend-nav-inactive { /* tracker */
  fill: rgba(192, 192, 192, 0.0001);
}

.highcharts-legend-title-box {
  fill: none;
  stroke-width: 0;
}

/* Bubble legend */
.highcharts-bubble-legend-symbol {
  stroke-width: 2;
  fill-opacity: 0.5;
}

.highcharts-bubble-legend-connectors {
  stroke-width: 1;
}

.highcharts-bubble-legend-labels {
  fill: #333333;
}

/* Loading */
.highcharts-loading {
  position: absolute;
  background-color: #ffffff;
  opacity: 0.5;
  text-align: center;
  z-index: 10;
  transition: opacity 250ms;
}

.highcharts-loading-hidden {
  height: 0 !important;
  opacity: 0;
  overflow: hidden;
  transition: opacity 250ms, height 250ms step-end;
}

.highcharts-loading-inner {
  font-weight: bold;
  position: relative;
  top: 45%;
}

/* Plot bands and polar pane backgrounds */
.highcharts-plot-band, .highcharts-pane {
  fill: #000000;
  fill-opacity: 0.05;
}

.highcharts-plot-line {
  fill: none;
  stroke: #999999;
  stroke-width: 1px;
}

/* Highcharts More and modules */
.highcharts-boxplot-box {
  fill: #ffffff;
}

.highcharts-boxplot-median {
  stroke-width: 2px;
}

.highcharts-bubble-series .highcharts-point {
  fill-opacity: 0.5;
}

.highcharts-errorbar-series .highcharts-point {
  stroke: #000000;
}

.highcharts-gauge-series .highcharts-data-label-box {
  stroke: #cccccc;
  stroke-width: 1px;
}

.highcharts-gauge-series .highcharts-dial {
  fill: #000000;
  stroke-width: 0;
}

.highcharts-polygon-series .highcharts-graph {
  fill: inherit;
  stroke-width: 0;
}

.highcharts-waterfall-series .highcharts-graph {
  stroke: #333333;
  stroke-dasharray: 1, 3;
}

.highcharts-sankey-series .highcharts-point {
  stroke-width: 0;
}

.highcharts-sankey-series .highcharts-link {
  transition: fill 250ms, fill-opacity 250ms;
  fill-opacity: 0.5;
}

.highcharts-sankey-series .highcharts-point-hover.highcharts-link {
  transition: fill 50ms, fill-opacity 50ms;
  fill-opacity: 1;
}

.highcharts-venn-series .highcharts-point {
  fill-opacity: 0.75;
  stroke: #cccccc;
  transition: stroke 250ms, fill-opacity 250ms;
}

.highcharts-venn-series .highcharts-point-hover {
  fill-opacity: 1;
  stroke: #cccccc;
}

/* Highstock */
.highcharts-navigator-mask-outside {
  fill-opacity: 0;
}

.highcharts-navigator-mask-inside {
  fill: #6685c2; /* navigator.maskFill option */
  fill-opacity: 0.25;
  cursor: ew-resize;
}

.highcharts-navigator-outline {
  stroke: #cccccc;
  fill: none;
}

.highcharts-navigator-handle {
  stroke: #cccccc;
  fill: #f2f2f2;
  cursor: ew-resize;
}

.highcharts-navigator-series {
  fill: #335cad;
  stroke: #335cad;
}

.highcharts-navigator-series .highcharts-graph {
  stroke-width: 1px;
}

.highcharts-navigator-series .highcharts-area {
  fill-opacity: 0.05;
}

.highcharts-navigator-xaxis .highcharts-axis-line {
  stroke-width: 0;
}

.highcharts-navigator-xaxis .highcharts-grid-line {
  stroke-width: 1px;
  stroke: #e6e6e6;
}

.highcharts-navigator-xaxis.highcharts-axis-labels {
  fill: #999999;
}

.highcharts-navigator-yaxis .highcharts-grid-line {
  stroke-width: 0;
}

.highcharts-scrollbar-thumb {
  fill: #cccccc;
  stroke: #cccccc;
  stroke-width: 1px;
}

.highcharts-scrollbar-button {
  fill: #e6e6e6;
  stroke: #cccccc;
  stroke-width: 1px;
}

.highcharts-scrollbar-arrow {
  fill: #666666;
}

.highcharts-scrollbar-rifles {
  stroke: #666666;
  stroke-width: 1px;
}

.highcharts-scrollbar-track {
  fill: #f2f2f2;
  stroke: #f2f2f2;
  stroke-width: 1px;
}

.highcharts-button {
  fill: #f7f7f7;
  stroke: #cccccc;
  cursor: default;
  stroke-width: 1px;
  transition: fill 250ms;
}

.highcharts-button text {
  fill: #333333;
}

.highcharts-button-hover {
  transition: fill 0ms;
  fill: #e6e6e6;
  stroke: #cccccc;
}

.highcharts-button-hover text {
  fill: #333333;
}

.highcharts-button-pressed {
  font-weight: bold;
  fill: #e6ebf5;
  stroke: #cccccc;
}

.highcharts-button-pressed text {
  fill: #333333;
  font-weight: bold;
}

.highcharts-button-disabled text {
  fill: #333333;
}

.highcharts-range-selector-buttons .highcharts-button {
  stroke-width: 0px;
}

.highcharts-range-label rect {
  fill: none;
}

.highcharts-range-label text {
  fill: #666666;
}

.highcharts-range-input rect {
  fill: none;
}

.highcharts-range-input text {
  fill: #333333;
}

.highcharts-range-input {
  stroke-width: 1px;
  stroke: #cccccc;
}

input.highcharts-range-selector {
  position: absolute;
  border: 0;
  width: 1px; /* Chrome needs a pixel to see it */
  height: 1px;
  padding: 0;
  text-align: center;
  left: -9em; /* #4798 */
}

.highcharts-crosshair-label text {
  fill: #ffffff;
  font-size: 1.1em;
}

.highcharts-crosshair-label .highcharts-label-box {
  fill: inherit;
}

.highcharts-candlestick-series .highcharts-point {
  stroke: #000000;
  stroke-width: 1px;
}

.highcharts-candlestick-series .highcharts-point-up {
  fill: #ffffff;
}

.highcharts-hollowcandlestick-series .highcharts-point-down {
  fill: #f21313;
  stroke: #f21313;
}

.highcharts-hollowcandlestick-series .highcharts-point-down-bearish-up {
  fill: #06b535;
  stroke: #06b535;
}

.highcharts-hollowcandlestick-series .highcharts-point-up {
  fill: transparent;
  stroke: #06b535;
}

.highcharts-ohlc-series .highcharts-point-hover {
  stroke-width: 3px;
}

.highcharts-flags-series .highcharts-point .highcharts-label-box {
  stroke: #999999;
  fill: #ffffff;
  transition: fill 250ms;
}

.highcharts-flags-series .highcharts-point-hover .highcharts-label-box {
  stroke: #000000;
  fill: #ccd6eb;
}

.highcharts-flags-series .highcharts-point text {
  fill: #000000;
  font-size: 0.9em;
  font-weight: bold;
}

/* Highcharts Maps */
.highcharts-map-series .highcharts-point {
  transition: fill 500ms, fill-opacity 500ms, stroke-width 250ms;
  stroke: #cccccc;
  stroke-width: inherit;
}

.highcharts-map-series .highcharts-point-hover {
  transition: fill 0ms, fill-opacity 0ms;
  fill-opacity: 0.5;
}

.highcharts-mapline-series .highcharts-point {
  fill: none;
}

.highcharts-heatmap-series .highcharts-point {
  stroke-width: 0;
}

.highcharts-map-navigation {
  font-size: 1.3em;
  font-weight: bold;
  text-align: center;
}

.highcharts-mapview-inset-border {
  stroke: #cccccc;
  stroke-width: 1px;
  fill: none;
}

.highcharts-coloraxis {
  stroke-width: 0;
}

.highcharts-coloraxis-marker {
  fill: #999999;
}

.highcharts-null-point {
  fill: #f7f7f7;
}

/* 3d charts */
.highcharts-3d-frame {
  fill: transparent;
}

/* Exporting module */
.highcharts-contextbutton {
  fill: #ffffff; /* needed to capture hover */
  stroke: none;
  stroke-linecap: round;
}

.highcharts-contextbutton:hover {
  fill: #e6e6e6;
  stroke: #e6e6e6;
}

.highcharts-button-symbol {
  stroke: #666666;
  stroke-width: 3px;
}

.highcharts-menu {
  border: 1px solid #999999;
  background: #ffffff;
  padding: 5px 0;
  box-shadow: 3px 3px 10px #888;
}

.highcharts-menu-item {
  padding: 0.5em 1em;
  background: none;
  color: #333333;
  cursor: pointer;
  transition: background 250ms, color 250ms;
}

.highcharts-menu-item:hover {
  background: #335cad;
  color: #ffffff;
}

/* Breadcrumbs */
.highcharts-breadcrumbs-button {
  fill: none;
  stroke-width: 0;
  cursor: pointer;
}

.highcharts-breadcrumbs-separator {
  fill: #666666;
}

/* Drilldown module */
.highcharts-drilldown-point {
  cursor: pointer;
}

.highcharts-drilldown-data-label text,
text.highcharts-drilldown-data-label,
.highcharts-drilldown-axis-label {
  cursor: pointer;
  fill: #003399;
  font-weight: bold;
  text-decoration: underline;
}

/* No-data module */
.highcharts-no-data text {
  font-weight: bold;
  font-size: 12px;
  fill: #666666;
}

/* Drag-panes module */
.highcharts-axis-resizer {
  cursor: ns-resize;
  stroke: black;
  stroke-width: 2px;
}

/* Bullet type series */
.highcharts-bullet-target {
  stroke-width: 0;
}

/* Lineargauge type series */
.highcharts-lineargauge-target {
  stroke-width: 1px;
  stroke: #333333;
}

.highcharts-lineargauge-target-line {
  stroke-width: 1px;
  stroke: #333333;
}

/* Annotations module */
.highcharts-annotation-label-box {
  stroke-width: 1px;
  stroke: #000000;
  fill: #000000;
  fill-opacity: 0.75;
}

.highcharts-annotation-label text {
  fill: #e6e6e6;
}

/* A11y module */
.highcharts-a11y-proxy-button {
  border-width: 0;
  background-color: transparent;
  cursor: pointer;
  outline: none;
  opacity: 0.001;
  z-index: 999;
  overflow: hidden;
  padding: 0;
  margin: 0;
  display: block;
  position: absolute;
}

.highcharts-a11y-proxy-group li {
  list-style: none;
}

.highcharts-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  white-space: nowrap;
  clip: rect(1px, 1px, 1px, 1px);
  margin-top: -3px;
  opacity: 0.01;
}

.highcharts-a11y-invisible {
  visibility: hidden;
}

.highcharts-a11y-proxy-container,
.highcharts-a11y-proxy-container-before,
.highcharts-a11y-proxy-container-after {
  position: absolute;
  white-space: nowrap;
}

g.highcharts-series, .highcharts-markers, .highcharts-point {
  outline: none;
}

/* Gantt */
.highcharts-treegrid-node-collapsed, .highcharts-treegrid-node-expanded {
  cursor: pointer;
}

.highcharts-point-connecting-path {
  fill: none;
}

.highcharts-grid-axis .highcharts-tick {
  stroke-width: 1px;
}

.highcharts-grid-axis .highcharts-axis-line {
  stroke-width: 1px;
}

/* --- plugins/tabulator-6.2/tabulator_semanticui.min.css --- */
.tabulator{background-color:#fff;font-size:14px;overflow:hidden;position:relative;text-align:left;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}.tabulator[tabulator-layout=fitDataFill] .tabulator-tableholder .tabulator-table{min-width:100%}.tabulator[tabulator-layout=fitDataTable]{display:inline-block}.tabulator.tabulator-block-select,.tabulator.tabulator-ranges .tabulator-cell:not(.tabulator-editing){user-select:none}.tabulator .tabulator-header{border-bottom:1px solid #999;box-sizing:border-box;outline:none;overflow:hidden;position:relative;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;white-space:nowrap;width:100%}.tabulator .tabulator-header.tabulator-header-hidden{display:none}.tabulator .tabulator-header .tabulator-header-contents{overflow:hidden;position:relative}.tabulator .tabulator-header .tabulator-header-contents .tabulator-headers{display:inline-block}.tabulator .tabulator-header .tabulator-col{background:#f9fafb;border-right:1px solid #ddd;box-sizing:border-box;display:inline-flex;flex-direction:column;justify-content:flex-start;overflow:hidden;position:relative;text-align:left;vertical-align:bottom}.tabulator .tabulator-header .tabulator-col.tabulator-moving{background:#dae1e7;border:1px solid #999;pointer-events:none;position:absolute}.tabulator .tabulator-header .tabulator-col.tabulator-range-highlight{background-color:#d6d6d6;color:#000}.tabulator .tabulator-header .tabulator-col.tabulator-range-selected{background-color:#3876ca;color:#fff}.tabulator .tabulator-header .tabulator-col .tabulator-col-content{box-sizing:border-box;padding:4px;position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-popup-button{padding:0 8px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-popup-button:hover{cursor:pointer;opacity:.6}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title-holder{position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap;width:100%}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title.tabulator-col-title-wrap{text-overflow:clip;white-space:normal}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-title-editor{background:#fff;border:1px solid #999;box-sizing:border-box;padding:1px;width:100%}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-header-popup-button+.tabulator-title-editor{width:calc(100% - 22px)}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{align-items:center;bottom:0;display:flex;position:absolute;right:4px;top:0}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:6px solid #bbb;border-left:6px solid transparent;border-right:6px solid transparent;height:0;width:0}.tabulator .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{border-top:1px solid #ddd;display:flex;margin-right:-1px;overflow:hidden;position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter{box-sizing:border-box;margin-top:2px;position:relative;text-align:center;width:100%}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter textarea{height:auto!important}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter svg{margin-top:3px}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter input::-ms-clear{height:0;width:0}.tabulator .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-right:25px}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable.tabulator-col-sorter-element:hover{background-color:#dae1e7;cursor:pointer}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter{color:#bbb}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{border-bottom:6px solid #555;cursor:pointer}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:6px solid #bbb;border-top:none}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter{color:#666}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{border-bottom:6px solid #555;cursor:pointer}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:6px solid #666;border-top:none}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter{color:#666}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{border-top:6px solid #555;cursor:pointer}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:none;border-top:6px solid #666;color:#666}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical .tabulator-col-content .tabulator-col-title{align-items:center;display:flex;justify-content:center;text-orientation:mixed;writing-mode:vertical-rl}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-col-vertical-flip .tabulator-col-title{transform:rotate(180deg)}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-title{padding-right:0;padding-top:20px}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable.tabulator-col-vertical-flip .tabulator-col-title{padding-bottom:20px;padding-right:0}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-sorter{bottom:auto;justify-content:center;left:0;right:0;top:4px}.tabulator .tabulator-header .tabulator-frozen{left:0;position:sticky;z-index:11}.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-left{border-right:2px solid #ddd}.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-right{border-left:2px solid #ddd}.tabulator .tabulator-header .tabulator-calcs-holder{background:#fff!important;border-bottom:1px solid #ddd;border-top:1px solid #ddd;box-sizing:border-box;display:inline-block}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row{background:#fff!important}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-header .tabulator-frozen-rows-holder{display:inline-block}.tabulator .tabulator-header .tabulator-frozen-rows-holder:empty{display:none}.tabulator .tabulator-tableholder{-webkit-overflow-scrolling:touch;overflow:auto;position:relative;white-space:nowrap;width:100%}.tabulator .tabulator-tableholder:focus{outline:none}.tabulator .tabulator-tableholder .tabulator-placeholder{align-items:center;box-sizing:border-box;display:flex;justify-content:center;min-width:100%;width:100%}.tabulator .tabulator-tableholder .tabulator-placeholder[tabulator-render-mode=virtual]{min-height:100%}.tabulator .tabulator-tableholder .tabulator-placeholder .tabulator-placeholder-contents{color:#ccc;display:inline-block;font-size:20px;font-weight:700;padding:10px;text-align:center;white-space:normal}.tabulator .tabulator-tableholder .tabulator-table{background-color:#fff;color:#333;display:inline-block;overflow:visible;position:relative;white-space:nowrap}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs{background:#e2e2e2!important;font-weight:700}.tabulator .tabulator-tableholder .tabulator-range-overlay{inset:0;pointer-events:none;position:absolute;z-index:10}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range{border:1px solid #2975dd;box-sizing:border-box;position:absolute}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active:after{background-color:#2975dd;border-radius:999px;bottom:-3px;content:"";height:6px;position:absolute;right:-3px;width:6px}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range-cell-active{border:2px solid #2975dd;box-sizing:border-box;position:absolute}.tabulator .tabulator-footer{background-color:#fff;border-top:1px solid #999;color:#555;font-weight:700;user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;white-space:nowrap}.tabulator .tabulator-footer .tabulator-footer-contents{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:5px 10px}.tabulator .tabulator-footer .tabulator-footer-contents:empty{display:none}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs{margin-top:-5px;overflow-x:auto}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab{border:1px solid rgba(34,36,38,.15);border-bottom-left-radius:5px;border-bottom-right-radius:5px;border-top:none;display:inline-block;font-size:.9em;padding:5px}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab:hover{cursor:pointer;opacity:.7}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab.tabulator-spreadsheet-tab-active{background:#fff}.tabulator .tabulator-footer .tabulator-calcs-holder{border-bottom:1px solid #ddd;border-top:1px solid #ddd;box-sizing:border-box;overflow:hidden;text-align:left;width:100%}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{display:inline-block}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-footer .tabulator-calcs-holder:only-child{margin-bottom:-5px}.tabulator .tabulator-footer>*+.tabulator-page-counter{margin-left:10px}.tabulator .tabulator-footer .tabulator-page-counter{font-weight:400}.tabulator .tabulator-footer .tabulator-paginator{color:#555;flex:1;font-family:inherit;font-size:inherit;font-weight:inherit;text-align:right}.tabulator .tabulator-footer .tabulator-page-size{border:1px solid #aaa;border-radius:3px;display:inline-block;margin:0 5px;padding:2px 5px}.tabulator .tabulator-footer .tabulator-pages{margin:0 7px}.tabulator .tabulator-footer .tabulator-page{background:hsla(0,0%,100%,.2);border:1px solid #aaa;border-radius:3px;display:inline-block;margin:0 2px;padding:2px 5px}.tabulator .tabulator-footer .tabulator-page.active{color:#d00}.tabulator .tabulator-footer .tabulator-page:disabled{opacity:.5}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-footer .tabulator-page:not(disabled):hover{background:rgba(0,0,0,.2);color:#fff;cursor:pointer}}.tabulator .tabulator-col-resize-handle{display:inline-block;margin-left:-3px;margin-right:-3px;position:relative;vertical-align:middle;width:6px;z-index:11}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-col-resize-handle:hover{cursor:ew-resize}}.tabulator .tabulator-col-resize-handle:last-of-type{margin-right:0;width:3px}.tabulator .tabulator-col-resize-guide{background-color:#999;height:100%;margin-left:-.5px;opacity:.5;position:absolute;top:0;width:4px}.tabulator .tabulator-row-resize-guide{background-color:#999;height:4px;left:0;margin-top:-.5px;opacity:.5;position:absolute;width:100%}.tabulator .tabulator-alert{align-items:center;background:rgba(0,0,0,.4);display:flex;height:100%;left:0;position:absolute;text-align:center;top:0;width:100%;z-index:100}.tabulator .tabulator-alert .tabulator-alert-msg{background:#fff;border-radius:10px;display:inline-block;font-size:16px;font-weight:700;margin:0 auto;padding:10px 20px}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-msg{border:4px solid #333;color:#000}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-error{border:4px solid #d00;color:#590000}.tabulator-row{background-color:#fff;box-sizing:border-box;min-height:22px;position:relative}.tabulator-row.tabulator-row-even{background-color:#efefef}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-selectable:hover{background-color:#bbb;cursor:pointer}}.tabulator-row.tabulator-selected{background-color:#9abcea}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-selected:hover{background-color:#769bcc;cursor:pointer}}.tabulator-row.tabulator-row-moving{background:#fff;border:1px solid #000}.tabulator-row.tabulator-moving{border-bottom:1px solid #ddd;border-top:1px solid #ddd;pointer-events:none;position:absolute;z-index:15}.tabulator-row.tabulator-range-highlight .tabulator-cell.tabulator-range-row-header{background-color:#d6d6d6;color:#000}.tabulator-row.tabulator-range-highlight.tabulator-range-selected .tabulator-cell.tabulator-range-row-header,.tabulator-row.tabulator-range-selected .tabulator-cell.tabulator-range-row-header{background-color:#3876ca;color:#fff}.tabulator-row .tabulator-row-resize-handle{bottom:0;height:5px;left:0;position:absolute;right:0}.tabulator-row .tabulator-row-resize-handle.prev{bottom:auto;top:0}@media (hover:hover) and (pointer:fine){.tabulator-row .tabulator-row-resize-handle:hover{cursor:ns-resize}}.tabulator-row .tabulator-responsive-collapse{border-bottom:1px solid #ddd;border-top:1px solid #ddd;box-sizing:border-box;padding:5px}.tabulator-row .tabulator-responsive-collapse:empty{display:none}.tabulator-row .tabulator-responsive-collapse table{font-size:14px}.tabulator-row .tabulator-responsive-collapse table tr td{position:relative}.tabulator-row .tabulator-responsive-collapse table tr td:first-of-type{padding-right:10px}.tabulator-row .tabulator-cell{border-right:1px solid #ddd;box-sizing:border-box;display:inline-block;outline:none;overflow:hidden;padding:4px;position:relative;text-overflow:ellipsis;white-space:nowrap}.tabulator-row .tabulator-cell.tabulator-row-header{background:#f9fafb;border-bottom:1px solid #ddd;border-right:1px solid rgba(34,36,38,.15)}.tabulator-row .tabulator-cell.tabulator-frozen{background-color:inherit;display:inline-block;left:0;position:sticky;z-index:11}.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-right:2px solid #ddd}.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right{border-left:2px solid #ddd}.tabulator-row .tabulator-cell.tabulator-editing{border:1px solid #1d68cd;outline:none;padding:0}.tabulator-row .tabulator-cell.tabulator-editing input,.tabulator-row .tabulator-cell.tabulator-editing select{background:transparent;border:1px;outline:none}.tabulator-row .tabulator-cell.tabulator-validation-fail{border:1px solid #db2828}.tabulator-row .tabulator-cell.tabulator-validation-fail input,.tabulator-row .tabulator-cell.tabulator-validation-fail select{background:transparent;border:1px;color:#db2828}.tabulator-row .tabulator-cell.tabulator-row-handle{align-items:center;display:inline-flex;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none}.tabulator-row .tabulator-cell.tabulator-row-handle .tabulator-row-handle-box{width:80%}.tabulator-row .tabulator-cell.tabulator-row-handle .tabulator-row-handle-box .tabulator-row-handle-bar{background:#666;height:3px;margin-top:2px;width:100%}.tabulator-row .tabulator-cell.tabulator-range-selected:not(.tabulator-range-only-cell-selected):not(.tabulator-range-row-header){background-color:#9abcea}.tabulator-row .tabulator-cell .tabulator-data-tree-branch-empty{display:inline-block;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-branch{border-bottom:2px solid #ddd;border-bottom-left-radius:1px;border-left:2px solid #ddd;display:inline-block;height:9px;margin-right:5px;margin-top:-9px;vertical-align:middle;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-control{align-items:center;background:rgba(0,0,0,.1);border:1px solid #333;border-radius:2px;display:inline-flex;height:11px;justify-content:center;margin-right:5px;overflow:hidden;vertical-align:middle;width:11px}@media (hover:hover) and (pointer:fine){.tabulator-row .tabulator-cell .tabulator-data-tree-control:hover{background:rgba(0,0,0,.2);cursor:pointer}}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse{background:transparent;display:inline-block;height:7px;position:relative;width:1px}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand{background:#333;display:inline-block;height:7px;position:relative;width:1px}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle{align-items:center;background:#666;border-radius:20px;display:inline-flex;font-size:1.1em;font-weight:700;height:15px;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;width:15px}@media (hover:hover) and (pointer:fine){.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle:hover{cursor:pointer;opacity:.7}}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open .tabulator-responsive-collapse-toggle-close{display:initial}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open .tabulator-responsive-collapse-toggle-open{display:none}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle svg{stroke:#fff}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle .tabulator-responsive-collapse-toggle-close{display:none}.tabulator-row .tabulator-cell .tabulator-traffic-light{border-radius:14px;display:inline-block;height:14px;width:14px}.tabulator-row.tabulator-group{background:#ccc;border-bottom:1px solid #999;border-right:1px solid #ddd;border-top:1px solid #999;box-sizing:border-box;font-weight:700;min-width:100%;padding:5px 5px 5px 10px}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-group:hover{background-color:rgba(0,0,0,.1);cursor:pointer}}.tabulator-row.tabulator-group.tabulator-group-visible .tabulator-arrow{border-bottom:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;margin-right:10px}.tabulator-row.tabulator-group.tabulator-group-level-1{padding-left:30px}.tabulator-row.tabulator-group.tabulator-group-level-2{padding-left:50px}.tabulator-row.tabulator-group.tabulator-group-level-3{padding-left:70px}.tabulator-row.tabulator-group.tabulator-group-level-4{padding-left:90px}.tabulator-row.tabulator-group.tabulator-group-level-5{padding-left:110px}.tabulator-row.tabulator-group .tabulator-group-toggle{display:inline-block}.tabulator-row.tabulator-group .tabulator-arrow{border-bottom:6px solid transparent;border-left:6px solid #666;border-right:0;border-top:6px solid transparent;display:inline-block;height:0;margin-right:16px;vertical-align:middle;width:0}.tabulator-row.tabulator-group span{color:#d00;margin-left:10px}.tabulator-toggle{background:#dcdcdc;border:1px solid #ccc;box-sizing:border-box;display:flex;flex-direction:row}.tabulator-toggle.tabulator-toggle-on{background:#1c6cc2}.tabulator-toggle .tabulator-toggle-switch{background:#fff;border:1px solid #ccc;box-sizing:border-box}.tabulator-popup-container{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #ddd;box-shadow:0 0 5px 0 rgba(0,0,0,.2);box-sizing:border-box;display:inline-block;font-size:14px;overflow-y:auto;position:absolute;z-index:10000}.tabulator-popup{border-radius:3px;padding:5px}.tabulator-tooltip{border-radius:2px;box-shadow:none;font-size:12px;max-width:Min(500px,100%);padding:3px 5px;pointer-events:none}.tabulator-menu .tabulator-menu-item{box-sizing:border-box;padding:5px 10px;position:relative;user-select:none}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-disabled{opacity:.5}@media (hover:hover) and (pointer:fine){.tabulator-menu .tabulator-menu-item:not(.tabulator-menu-item-disabled):hover{background:#efefef;cursor:pointer}}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu{padding-right:25px}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu:after{border-color:#ddd;border-style:solid;border-width:1px 1px 0 0;content:"";display:inline-block;height:7px;position:absolute;right:10px;top:calc(5px + .4em);transform:rotate(45deg);vertical-align:top;width:7px}.tabulator-menu .tabulator-menu-separator{border-top:1px solid #ddd}.tabulator-edit-list{-webkit-overflow-scrolling:touch;font-size:14px;max-height:200px;overflow-y:auto}.tabulator-edit-list .tabulator-edit-list-item{color:#333;outline:none;padding:4px}.tabulator-edit-list .tabulator-edit-list-item.active{background:#1d68cd;color:#fff}.tabulator-edit-list .tabulator-edit-list-item.active.focused{outline:1px solid hsla(0,0%,100%,.5)}.tabulator-edit-list .tabulator-edit-list-item.focused{outline:1px solid #1d68cd}@media (hover:hover) and (pointer:fine){.tabulator-edit-list .tabulator-edit-list-item:hover{background:#1d68cd;color:#fff;cursor:pointer}}.tabulator-edit-list .tabulator-edit-list-placeholder{color:#333;padding:4px;text-align:center}.tabulator-edit-list .tabulator-edit-list-group{border-bottom:1px solid #ddd;color:#333;font-weight:700;padding:6px 4px 4px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-2,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-2{padding-left:12px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-3,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-3{padding-left:20px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-4,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-4{padding-left:28px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-5,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-5{padding-left:36px}.tabulator.tabulator-ltr{direction:ltr}.tabulator.tabulator-rtl{direction:rtl;text-align:initial}.tabulator.tabulator-rtl .tabulator-header .tabulator-col{border-left:1px solid #ddd;border-right:initial;text-align:initial}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{margin-left:-1px;margin-right:0}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-left:25px;padding-right:0}.tabulator.tabulator-rtl .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{left:8px;right:auto}.tabulator.tabulator-rtl .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active:after{background-color:#2975dd;border-radius:999px;bottom:-3px;content:"";height:6px;left:-3px;position:absolute;right:auto;width:6px}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell{border-left:1px solid #ddd;border-right:initial}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-branch{border-bottom-left-radius:0;border-bottom-right-radius:1px;border-left:initial;border-right:2px solid #ddd;margin-left:5px;margin-right:0}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-control{margin-left:5px;margin-right:0}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-left:2px solid #ddd}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right{border-right:2px solid #ddd}.tabulator.tabulator-rtl .tabulator-row .tabulator-col-resize-handle:last-of-type{margin-left:0;margin-right:-3px;width:3px}.tabulator.tabulator-rtl .tabulator-footer .tabulator-calcs-holder{text-align:initial}.tabulator-print-fullscreen{bottom:0;left:0;position:absolute;right:0;top:0;z-index:10000}body.tabulator-print-fullscreen-hide>:not(.tabulator-print-fullscreen){display:none!important}.tabulator-print-table{border-collapse:collapse}.tabulator-print-table .tabulator-data-tree-branch{border-bottom:2px solid #ddd;border-bottom-left-radius:1px;border-left:2px solid #ddd;display:inline-block;height:9px;margin-right:5px;margin-top:-9px;vertical-align:middle;width:7px}.tabulator-print-table .tabulator-print-table-group{background:#ccc;border-bottom:1px solid #999;border-right:1px solid #ddd;border-top:1px solid #999;box-sizing:border-box;font-weight:700;min-width:100%;padding:5px 5px 5px 10px}@media (hover:hover) and (pointer:fine){.tabulator-print-table .tabulator-print-table-group:hover{background-color:rgba(0,0,0,.1);cursor:pointer}}.tabulator-print-table .tabulator-print-table-group.tabulator-group-visible .tabulator-arrow{border-bottom:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;margin-right:10px}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-1 td{padding-left:30px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-2 td{padding-left:50px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-3 td{padding-left:70px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-4 td{padding-left:90px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-5 td{padding-left:110px!important}.tabulator-print-table .tabulator-print-table-group .tabulator-group-toggle{display:inline-block}.tabulator-print-table .tabulator-print-table-group .tabulator-arrow{border-bottom:6px solid transparent;border-left:6px solid #666;border-right:0;border-top:6px solid transparent;display:inline-block;height:0;margin-right:16px;vertical-align:middle;width:0}.tabulator-print-table .tabulator-print-table-group span{color:#d00;margin-left:10px}.tabulator-print-table .tabulator-data-tree-control{align-items:center;background:rgba(0,0,0,.1);border:1px solid #333;border-radius:2px;display:inline-flex;height:11px;justify-content:center;margin-right:5px;overflow:hidden;vertical-align:middle;width:11px}@media (hover:hover) and (pointer:fine){.tabulator-print-table .tabulator-data-tree-control:hover{background:rgba(0,0,0,.2);cursor:pointer}}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse{background:transparent;display:inline-block;height:7px;position:relative;width:1px}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand{background:#333;display:inline-block;height:7px;position:relative;width:1px}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator{border:1px solid rgba(34,36,38,.15);border-radius:.28571rem;box-shadow:none;color:rgba(0,0,0,.87);margin:1em 0;width:100%}.tabulator .tabulator-header{border-bottom:1px solid rgba(34,36,38,.1);box-shadow:none;color:rgba(0,0,0,.87);font-style:none;font-weight:700;text-transform:none}.tabulator .tabulator-header,.tabulator .tabulator-header .tabulator-col{background-color:#f9fafb;border-right:none}.tabulator .tabulator-header .tabulator-col .tabulator-col-content{padding:.92857em .78571em}.tabulator .tabulator-tableholder .tabulator-table{background-color:transparent}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs{background:#f2f2f2!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-top{border-bottom:2px solid #ddd}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-bottom{border-top:2px solid #ddd}.tabulator .tabulator-footer{background:#f9fafb;border-top:1px solid rgba(34,36,38,.15);box-shadow:none;color:rgba(0,0,0,.87);font-style:normal;font-weight:400;padding:.78571em;text-align:right;text-transform:none}.tabulator .tabulator-footer .tabulator-calcs-holder{background:#fff!important;margin:-.78571em -.78571em .78571em}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{background:#fff!important}.tabulator .tabulator-footer .tabulator-calcs-holder:only-child{border-bottom:none;margin-bottom:-.78571em}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs{margin-top:calc(-.78571em - 5px)}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab.tabulator-spreadsheet-tab-active{color:#d00}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.positive,.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.positive{background:#fcfff5!important;box-shadow:inset 0 0 0 #a3c293;color:#21ba45!important}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.positive:hover,.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.positive:hover{background:#f7ffe6!important;color:#13ae38!important}}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.negative,.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.negative{background:#fff6f6!important;box-shadow:inset 0 0 0 #e0b4b4;color:#db2828!important}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.negative:hover,.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.negative:hover{background:#ffe7e7!important;color:#d41616!important}}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.error,.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.error{background:#fff6f6!important;box-shadow:inset 0 0 0 #e0b4b4;color:#db2828!important}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.error:hover,.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.error:hover{background:#ffe7e7!important;color:#d12323!important}}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.warning,.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.warning{background:#fffaf3!important;box-shadow:inset 0 0 0 #c9ba9b;color:#f2c037!important}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.warning:hover,.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.warning:hover{background:#fff4e4!important;color:#f1bb29!important}}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.active,.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.active{background:#e0e0e0!important;box-shadow:inset 0 0 0 rgba(0,0,0,.87);color:rgba(0,0,0,.87)!important}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.active:hover,.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.active:hover{background:#f7ffe6!important;color:#13ae38!important}}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.active,.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.active{color:rgba(0,0,0,.2);pointer-events:none}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.disabled:hover{color:rgba(0,0,0,.2);pointer-events:none}}.tabulator.inverted{background:#333;border:none;color:hsla(0,0%,100%,.9)}.tabulator.inverted .tabulator-header{background-color:rgba(0,0,0,.15);color:hsla(0,0%,100%,.9)}.tabulator.inverted .tabulator-header,.tabulator.inverted .tabulator-header .tabulator-col{border-color:hsla(0,0%,100%,.1)!important}.tabulator.inverted .tabulator-tableholder .tabulator-table .tabulator-row{border:none;color:hsla(0,0%,100%,.9)}.tabulator.inverted .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell{border-color:hsla(0,0%,100%,.1)!important}.tabulator.inverted .tabulator-footer{background:#fff}.tabulator.striped .tabulator-row:nth-child(2n){background-color:#f2f2f2}.tabulator.celled{border:1px solid rgba(34,36,38,.15)}.tabulator.celled .tabulator-header .tabulator-col,.tabulator.celled .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell{border-right:1px solid rgba(34,36,38,.1)}.tabulator[class*="single line"] .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell{border-right:none}.tabulator.red{border-top:.2em solid #db2828}.tabulator.inverted.red{background-color:#db2828!important;color:#fff!important}.tabulator.orange{border-top:.2em solid #f2711c}.tabulator.inverted.orange{background-color:#f2711c!important;color:#fff!important}.tabulator.yellow{border-top:.2em solid #fbbd08}.tabulator.inverted.yellow{background-color:#fbbd08!important;color:#fff!important}.tabulator.olive{border-top:.2em solid #b5cc18}.tabulator.inverted.olive{background-color:#b5cc18!important;color:#fff!important}.tabulator.green{border-top:.2em solid #21ba45}.tabulator.inverted.green{background-color:#21ba45!important;color:#fff!important}.tabulator.teal{border-top:.2em solid #00b5ad}.tabulator.inverted.teal{background-color:#00b5ad!important;color:#fff!important}.tabulator.blue{border-top:.2em solid #2185d0}.tabulator.inverted.blue{background-color:#2185d0!important;color:#fff!important}.tabulator.violet{border-top:.2em solid #6435c9}.tabulator.inverted.violet{background-color:#6435c9!important;color:#fff!important}.tabulator.purple{border-top:.2em solid #a333c8}.tabulator.inverted.purple{background-color:#a333c8!important;color:#fff!important}.tabulator.pink{border-top:.2em solid #e03997}.tabulator.inverted.pink{background-color:#e03997!important;color:#fff!important}.tabulator.brown{border-top:.2em solid #a5673f}.tabulator.inverted.brown{background-color:#a5673f!important;color:#fff!important}.tabulator.grey{border-top:.2em solid #767676}.tabulator.inverted.grey{background-color:#767676!important;color:#fff!important}.tabulator.black{border-top:.2em solid #1b1c1d}.tabulator.inverted.black{background-color:#1b1c1d!important;color:#fff!important}.tabulator.padded .tabulator-header .tabulator-col .tabulator-col-content{padding:1em}.tabulator.padded .tabulator-header .tabulator-col .tabulator-col-content .tabulator-arrow{top:20px}.tabulator.padded .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell{padding:1em}.tabulator.padded.very .tabulator-header .tabulator-col .tabulator-col-content{padding:1.5em}.tabulator.padded.very .tabulator-header .tabulator-col .tabulator-col-content .tabulator-arrow{top:26px}.tabulator.padded.very .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell{padding:1.5em}.tabulator.compact .tabulator-header .tabulator-col .tabulator-col-content{padding:.5em .7em}.tabulator.compact .tabulator-header .tabulator-col .tabulator-col-content .tabulator-arrow{top:12px}.tabulator.compact .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell{padding:.5em .7em}.tabulator.compact.very .tabulator-header .tabulator-col .tabulator-col-content{padding:.4em .6em}.tabulator.compact.very .tabulator-header .tabulator-col .tabulator-col-content .tabulator-arrow{top:10px}.tabulator.compact.very .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell{padding:.4em .6em}.tabulator-row{border-bottom:1px solid rgba(34,36,38,.1)}.tabulator-row.tabulator-row-even{background-color:#fff}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-selectable:hover{background:#e0e0e0!important;box-shadow:inset 0 0 0 rgba(0,0,0,.87);color:rgba(0,0,0,.87)!important}}.tabulator-row.tabulator-selected{background-color:#9abcea!important}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-selected:hover{background-color:#769bcc!important;cursor:pointer}}.tabulator-row.tabulator-moving{pointer-events:none!important}.tabulator-row .tabulator-cell{border-right:none;padding:.78571em;vertical-align:middle}.tabulator-row .tabulator-cell:last-of-type{border-right:none}.tabulator-row .tabulator-cell.tabulator-row-header{border-bottom:none}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle{color:#fff}.tabulator-row.tabulator-group{background:#fafafa}.tabulator-row.tabulator-group span{color:#666}.tabulator-menu{background:#fff}@media (hover:hover) and (pointer:fine){.tabulator-menu .tabulator-menu-item:not(.tabulator-menu-item-disabled):hover{background:#f9fafb}}.tabulator-edit-select-list{background:#fff}.tabulator-edit-select-list .tabulator-edit-select-list-item.active{color:#fff}.tabulator-edit-select-list .tabulator-edit-select-list-item.active.focused{outline:1px solid hsla(0,0%,100%,.5)}@media (hover:hover) and (pointer:fine){.tabulator-edit-select-list .tabulator-edit-select-list-item:hover{color:#fff}}.tabulator-edit-select-list .tabulator-edit-select-list-notice{color:inherit}.tabulator-print-table .tabulator-print-table-group{background:#fafafa}.tabulator-print-table .tabulator-print-table-group span{color:#666}
/*# sourceMappingURL=tabulator_semanticui.min.css.map */

/* --- plugins/leaflet-1.8.0/leaflet.css --- */
/* required styles */

.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;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.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.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;
	/* Fallback for FF which doesn't support 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;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.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;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	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;
	}


/* zoom and fade animations */

.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;
	}


/* cursors */

.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;
	}

/* marker & overlays interactivity */
.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; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.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);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.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;
	}

/* zoom control */

.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;
	}


/* layers control */

.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(/plugins/leaflet-1.8.0/images/layers.png);
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url(/plugins/leaflet-1.8.0/images/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;
	}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url(/plugins/leaflet-1.8.0/images/marker-icon.png);
	}


/* attribution and scale controls */

.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-control-attribution svg {
	display: inline !important;
	}
.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;
	overflow: hidden;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;

	background: #fff;
	background: rgba(255, 255, 255, 0.5);
	}
.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;
	}


/* popup */

.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;
	border-bottom: 1px solid #ddd;
	border-top: 1px solid #ddd;
	}

.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;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.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: "";
	}

/* Directions */

.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;
	}

/* Printing */
	
@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		color-adjust: exact;
		}
	}


/* --- plugins/leaflet.draw-0.4.14/leaflet.draw.css --- */
.leaflet-draw-section{position:relative}.leaflet-draw-toolbar{margin-top:12px}.leaflet-draw-toolbar-top{margin-top:0}.leaflet-draw-toolbar-notop a:first-child{border-top-right-radius:0}.leaflet-draw-toolbar-nobottom a:last-child{border-bottom-right-radius:0}.leaflet-draw-toolbar a{background-image:url('/plugins/leaflet.draw-0.4.14/images/spritesheet.png');background-image:linear-gradient(transparent,transparent),url('/plugins/leaflet.draw-0.4.14/images/spritesheet.svg');background-repeat:no-repeat;background-size:300px 30px;background-clip:padding-box}.leaflet-retina .leaflet-draw-toolbar a{background-image:url('/plugins/leaflet.draw-0.4.14/images/spritesheet-2x.png');background-image:linear-gradient(transparent,transparent),url('/plugins/leaflet.draw-0.4.14/images/spritesheet.svg')}
.leaflet-draw a{display:block;text-align:center;text-decoration:none}.leaflet-draw a .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.leaflet-draw-actions{display:none;list-style:none;margin:0;padding:0;position:absolute;left:26px;top:0;white-space:nowrap}.leaflet-touch .leaflet-draw-actions{left:32px}.leaflet-right .leaflet-draw-actions{right:26px;left:auto}.leaflet-touch .leaflet-right .leaflet-draw-actions{right:32px;left:auto}.leaflet-draw-actions li{display:inline-block}
.leaflet-draw-actions li:first-child a{border-left:0}.leaflet-draw-actions li:last-child a{-webkit-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.leaflet-right .leaflet-draw-actions li:last-child a{-webkit-border-radius:0;border-radius:0}.leaflet-right .leaflet-draw-actions li:first-child a{-webkit-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.leaflet-draw-actions a{background-color:#919187;border-left:1px solid #AAA;color:#FFF;font:11px/19px "Helvetica Neue",Arial,Helvetica,sans-serif;line-height:28px;text-decoration:none;padding-left:10px;padding-right:10px;height:28px}
.leaflet-touch .leaflet-draw-actions a{font-size:12px;line-height:30px;height:30px}.leaflet-draw-actions-bottom{margin-top:0}.leaflet-draw-actions-top{margin-top:1px}.leaflet-draw-actions-top a,.leaflet-draw-actions-bottom a{height:27px;line-height:27px}.leaflet-draw-actions a:hover{background-color:#a0a098}.leaflet-draw-actions-top.leaflet-draw-actions-bottom a{height:26px;line-height:26px}.leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:-2px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:0 -1px}
.leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-31px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-29px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-62px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-60px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-92px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-90px -1px}
.leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-122px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-120px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-273px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-271px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-152px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-150px -1px}
.leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-182px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-180px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-212px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-210px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-242px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-240px -2px}
.leaflet-mouse-marker{background-color:#fff;cursor:crosshair}.leaflet-draw-tooltip{background:#363636;background:rgba(0,0,0,0.5);border:1px solid transparent;-webkit-border-radius:4px;border-radius:4px;color:#fff;font:12px/18px "Helvetica Neue",Arial,Helvetica,sans-serif;margin-left:20px;margin-top:-21px;padding:4px 8px;position:absolute;visibility:hidden;white-space:nowrap;z-index:6}.leaflet-draw-tooltip:before{border-right:6px solid black;border-right-color:rgba(0,0,0,0.5);border-top:6px solid transparent;border-bottom:6px solid transparent;content:"";position:absolute;top:7px;left:-7px}
.leaflet-error-draw-tooltip{background-color:#f2dede;border:1px solid #e6b6bd;color:#b94a48}.leaflet-error-draw-tooltip:before{border-right-color:#e6b6bd}.leaflet-draw-tooltip-single{margin-top:-12px}.leaflet-draw-tooltip-subtext{color:#f8d5e4}.leaflet-draw-guide-dash{font-size:1%;opacity:.6;position:absolute;width:5px;height:5px}.leaflet-edit-marker-selected{background-color:rgba(254,87,161,0.1);border:4px dashed rgba(254,87,161,0.6);-webkit-border-radius:4px;border-radius:4px;box-sizing:content-box}
.leaflet-edit-move{cursor:move}.leaflet-edit-resize{cursor:pointer}.leaflet-oldie .leaflet-draw-toolbar{border:1px solid #999}

/* --- css/font.css --- */


@font-face {
	font-family: 'Pretendard';
	font-weight: 900;
	font-display: swap;
	src: local('Pretendard Black'), url('/font/woff2/Pretendard-Black.woff2') format('woff2'), url('/font/woff/Pretendard-Black.woff') format('woff');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 800;
	font-display: swap;
	src: local('Pretendard ExtraBold'), url('/font/woff2/Pretendard-ExtraBold.woff2') format('woff2'), url('/font/woff/Pretendard-ExtraBold.woff') format('woff');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 700;
	font-display: swap;
	src: local('Pretendard Bold'), url('/font/woff2/Pretendard-Bold.woff2') format('woff2'), url('/font/woff/Pretendard-Bold.woff') format('woff');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 600;
	font-display: swap;
	src: local('Pretendard SemiBold'), url('/font/woff2/Pretendard-SemiBold.woff2') format('woff2'), url('/font/woff/Pretendard-SemiBold.woff') format('woff');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 500;
	font-display: swap;
	src: local('Pretendard Medium'), url('/font/woff2/Pretendard-Medium.woff2') format('woff2'), url('/font/woff/Pretendard-Medium.woff') format('woff');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 400;
	font-display: swap;
	src: local('Pretendard Regular'), url('/font/woff2/Pretendard-Regular.woff2') format('woff2'), url('/font/woff/Pretendard-Regular.woff') format('woff');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 300;
	font-display: swap;
	src: local('Pretendard Light'), url('/font/woff2/Pretendard-Light.woff2') format('woff2'), url('/font/woff/Pretendard-Light.woff') format('woff');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 200;
	font-display: swap;
	src: local('Pretendard ExtraLight'), url('/font/woff2/Pretendard-ExtraLight.woff2') format('woff2'), url('/font/woff/Pretendard-ExtraLight.woff') format('woff');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 100;
	font-display: swap;
	src: local('Pretendard Thin'), url('/font/woff2/Pretendard-Thin.woff2') format('woff2'), url('/font/woff/Pretendard-Thin.woff') format('woff');
}


/* --- css/map.css --- */
@charset "utf-8";

* {
    margin: 0;
    padding: 0;
    font-family: 'Pretendard', sans-serif, Dotum, "돋움", Gulim, "굴림", Apple-Gothic;
    font-size: 14px;
    line-height: 150%;
    box-sizing: border-box;
}

body {
    font-size: 14px;
    color: #343434;
    -webkit-text-size-adjust: none;
    word-wrap: break-word;
    word-break: break-all;
    overflow: hidden;
}

ul, ol {
    list-style: none;
}

button {
    cursor: pointer;
}

table {
    margin: 0;
    padding: 0;
    border-spacing: 0;
    border: 0;
    border-collapse: collapse;
    width: 100%;
}

img, fieldset, abbr, acronym {
    border: 0;
}

address, caption, cite, code, dfn, em, var {
    font-style: normal;
}

input, button, textarea {
    font-size: 14px;
    padding: 0;
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    border: none;
}

input:focus-visible, button:focus-visible, textarea:focus-visible {
    outline: 2px solid #4A90D9;
    outline-offset: 2px;
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

table, table th, table td {
    border: 0;
}

hr {
    display: none
}

a {
    color: #343434;
    text-decoration: none;
}

img {
    vertical-align: middle;
}

caption, legend {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    line-height: 0;
    overflow: hidden;
    visibility: hidden;
    font-size: 0;
}

.hide {
    display: none !important;
    overflow: hidden;
    visibility: hidden;
    width: 0;
    height: 0;
    font-size: 0;
    line-height: 0;
}

.gLeft {
    float: left;
}

.gRight {
    float: right;
}

.hidden {
    display: none !important;
}

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

input[type="checkbox"], input[type="radio"] {
    width: 14px;
    height: 14px;
    line-height: 14px;
    box-sizing: border-box;
    -webkit-appearance: auto;
    -webkit-border-radius: 0;
}

html,
body {
    font-family: 'Pretendard', sans-serif;
}

::-webkit-input-placeholder {
    color: #616472;
    font-weight: 400;
}

/* Chrome/Opera/Safari */
::-moz-placeholder {
    color: #616472;
}

/* Firefox 19+ */
:-ms-input-placeholder {
    color: #616472;
}

/* IE 10+ */
:-moz-placeholder {
    color: #616472;
}

/* Firefox 18- */
::-webkit-scrollbar {
    width: 13px;
    height: 13px;
}

::-webkit-scrollbar-thumb {
    outline: none;
    border-radius: 10px;
    border: 4px solid transparent;
    box-shadow: inset 6px 6px 0 rgba(34, 34, 34, 0.15);
}

::-webkit-scrollbar-thumb:hover {
    border: 4px solid transparent;
    box-shadow: inset 6px 6px 0 rgba(34, 34, 34, 0.3);
}

::-webkit-scrollbar-track {
    box-shadow: none;
    background-color: transparent;
}

.scrollbar {
    z-index: 999;
    position: absolute;
}

.scrollbar::-webkit-scrollbar {
    width: 13px;
    height: 13px;
}

.scrollbar::-webkit-scrollbar-thumb {
    outline: none;
    border-radius: 10px;
    border: 4px solid transparent;
    background-clip: padding-box;
    box-shadow: inset 6px 6px 0 rgba(34, 34, 34, 0.15);
}

.scrollbar::-webkit-scrollbar-thumb:hover {
    border: 4px solid transparent;
    box-shadow: inset 6px 6px 0 rgba(34, 34, 34, 0.3);
}

.scrollbar::-webkit-scrollbar-track {
    box-shadow: none;
    background-color: transparent;
}

select {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    background-image: var(--ico-pop-select);
    background-repeat: no-repeat;
    background-position: calc(100% - 15px) center;
    background-position: -webkit-calc(100% - 15px) center;
    background-position: -moz-calc(100% - 15px) center;
    -webkit-border-radius: 0;
}

select::-ms-expand {
    display: none;
}

input {
    border: 1px solid #dcdcdc;
    display: inline-block;
    box-sizing: border-box;
    padding: 0 35px 0 15px;
    font-size: 14px;
    font-weight: 400;
    border-radius: 4px;
    color: #3a4058;
}

label {
    display: inline-block;
    cursor: pointer;
    line-height: 1.5;
    font-size: 14px;
    color: #666;
}

.blind {
    overflow: hidden !important;
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    color: transparent !important;
    clip: rect(0px, 0px, 0px, 0px) !important;
}

/* ---------- */
body {
    display: flex;
}

#map-container {
    display: flex;
    height: 100vh;
    width: calc(100% - 70px);
    z-index: 0;
    user-select: none;
    background-color: #dedede;
}

.leftMenu {
    display: flex;
    position: relative;
    z-index: 300;
    flex-direction: column;
    height: 100vh;
    width: fit-content;
    background-color: #fff;
}

.symbol {
    height: 60px;
    align-self: center;
    align-content: center;
    background-color: white;
}

.logo {
    height: 60px;
    align-content: center;
    background-color: white;
}

.menu {
    width: 70px;
}

.menu li .btnMenu {
    display: block;
    position: relative;
    z-index: 10;
    padding: 13px 1px 11px 0px;
    color: var(--extra-sub-9);
    background-color: #fff;
    text-align: center;
    width: 70px;
    height: 70px;
}

.menu li .btnMenu:hover {
    background-color: var(--extra-sub-4);
}

.menu li .menuLogin:hover {
    background-color: #dad9e7;
}

.menu li .btnMenu span {
    display: block;
    min-height: 13px;
    margin-top: 28px;
    font-size: 12px;
    font-weight: 500;
    line-height: 15px;
    letter-spacing: -0.44px;
}

.menu li .menuLogin {
    background: var(--img-user) center 17px no-repeat var(--sub-color-light);
    color: var(--primary-color);
    display: block;
    position: relative;
    z-index: 10;
    padding: 13px 1px 11px 0px;
    text-align: center;
    width: 70px;
    height: 70px;
}

.menu li .menuLogin span {
    display: block;
    min-height: 13px;
    margin-top: 28px;
    font-size: 12px;
    font-weight: 500;
    line-height: 15px;
    letter-spacing: -0.44px;
}

.menu li .afterLogin {
    background: var(--img-user) center 17px no-repeat var(--sub-color-light);
    color: var(--primary-color);
    display: block;
    position: relative;
    z-index: 10;
    padding: 13px 1px 11px 0px;
    text-align: center;
    width: 70px;
    height: 130px;
}

.menu li .afterLogin h4 {
    font-size: 12px;
    font-weight: 400;
    color: #3a4058;
    letter-spacing: -0.7px;
    line-height: 12px;
    margin: 35px 0 15px 0;
}

.menu li .afterLogin h4 span {
    font-size: 12px;
    font-weight: 600;
    color: var(--primary-color);
}

.menu li .afterLogin .btnLogout {
    background-color: var(--accent-color-4);
    border: none;
    border-radius: 5px;
    padding: 5px 7px;;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
}

.menu li .afterLogin .btnLogout:hover {
    background-color: var(--primary-color);
}

.menu li .menu01 {
    background: url("/static/images/img_menu01_off.png") center 12px no-repeat;
}

.menu li .menu02 {
    background: url("/static/images/img_menu02_off.png") center 12px no-repeat;
}

.menu li .menu03 {
    background: url("/static/images/img_menu03_off.png") center 12px no-repeat;
}

.menu li .menu01.active {
    background: url("/static/images/img_menu01_on.png") center 12px no-repeat var(--primary-color);
    color: #fff;
}

.menu li .menu02.active {
    background: url("/static/images/img_menu02_on.png") center 12px no-repeat var(--primary-color);
    color: #fff;
}

.menu li .menu03.active {
    background: url("/static/images/img_menu03_on.png") center 12px no-repeat var(--primary-color);
    color: #fff;
}

.mapContents {
    flex: 1 1 auto;
}

.line {
    margin: 10px;
    border: 1px solid #e7e6f0;
    height: 1px;
}

.otherMap {
    position: absolute;
    bottom: 0;
    padding-top: 10px;
}

.otherMap li a {
    display: block;
    position: relative;
    z-index: 10;
    padding: 13px 1px 11px 0;
    color: var(--extra-sub-9);
    background-color: #fff;
    text-align: center;
    width: 70px;
    height: 70px;
}

.otherMap li a span {
    display: block;
    min-height: 13px;
    margin-top: 28px;
    font-size: 12px;
    font-weight: 500;
    line-height: 15px;
    letter-spacing: -0.44px;
}

.otherMap li a.map01 {
    background: url("/static/images/img_kakao_off.png") center 5px no-repeat #fff;
}

.otherMap li a.map02 {
    background: url("/static/images/img_naver_off.png") center 5px no-repeat #fff;
}

.otherMap li a.map03 {
    background: url("/static/images/img_google_off.png") center 5px no-repeat #fff;
}

.otherMap li a.map01:hover {
    background: url("/static/images/img_kakao_on.png") center 5px no-repeat #fff;
}

.otherMap li a.map02:hover {
    background: url("/static/images/img_naver_on.png") center 5px no-repeat #fff;
}

.otherMap li a.map03:hover {
    background: url("/static/images/img_google_on.png") center 5px no-repeat #fff;
}

.loginBox {
    width: 100%;
    max-width: 380px;
    background-color: #fff;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0px 0px 9px 1px rgba(0, 0, 0, .3);
}

.login-head {
    position: relative;
    background: url(/static/images/img_logo_for_Login.png) center center no-repeat;
    height: 200px;
    margin-bottom: 30px;
}

.login-head p {
    font-size: 18px;
    font-weight: 700;
    color: var(--mid-sub-1);
    letter-spacing: -0.7px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.login-body {
    width: 100%;
    background-color: #fff;
}

.body-content {
    width: 100%;
    padding: 0 40px;
}

.body-content .loginInput {
    width: 100%;
    padding: 10px;
    border: 1px solid var(--accent-color-4);
    border-radius: 5px;
    margin-bottom: 5px;
}

.body-content .btnLogin {
    width: 100%;
    padding: 15px;
    border-radius: 5px;
    color: #fff;
    background-color: var(--primary-color);
    margin-top: 10px;
}

.body-content .btnLogin:hover {
    background-color: var(--dark-sub-2);
}

.body-content input::placeholder {
    font-size: 14px;
    font-weight: 400;
    color: #c48c64;
}

.login-foot {
    width: 100%;
    padding: 30px 40px;
    text-align: center;
}

.login-foot ul {
    display: flex;
    justify-content: center;
    align-items: center;
}

.login-foot ul li a {
    position: relative;
    display: block;
    font-size: 14px;
    font-weight: 400;
    color: var(--primary-color);
}

.login-foot ul li a:hover {
    font-weight: 600;
    color: #f9739f;
}

.login-foot ul li {
    position: relative;
    padding: 0 10px;
}

.login-foot ul li::after {
    content: "";
    width: 1px;
    height: 12px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background-color: var(--extra-sub-1);
}

.login-foot ul li:last-child::after {
    display: none;
}

.leftArea {
    position: absolute;
    left: 70px;
    top: 0;
    bottom: 0;
    z-index: 200;
    height: 100%;
    min-width: 390px;
    background-color: var(--extra-sub-4);
    box-shadow: 3px 0 5px 1px rgba(0, 0, 0, .1);
    transition: left .5s;
}

.leftArea.closed {
    left: -323px;
}

.leftArea.closed .btnPanelClose::after {
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
}

.btnPanelClose {
    position: absolute;
    overflow: hidden;
    z-index: 10;
    top: 0;
    left: 100%;
    width: 36px;
    height: 60px;
    border-radius: 0px 200px 200px 0px;
    background-clip: padding-box;
    background-color: var(--extra-sub-7);
    box-shadow: 5px 0px 5px 0px rgba(0, 0, 0, .1);
}

.btnPanelClose::after {
    position: absolute;
    content: '';
    right: 17px;
    top: 50%;
    margin-top: -9.5px;
    width: 20px;
    height: 20px;
    background: var(--img-arrow-left) no-repeat 50%;
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transition: transform ease-in-out 0.55s;
    -webkit-transition: transform ease-in-out 0.55s;
}

.leftContents {
    width: 380px;
    min-height: calc(100vh - 250px);
}

.analysis {
    padding: 10px 0 10px 10px;
}

/* tab */
.analysis-condition__submenu {
    width: 50%;
    font-size: 14px;
    font-weight: 600;
    color: var(--primary-color);
    padding: 14px;
}

.analysis-condition__submenu.active {
    color: #fff;
    border-radius: 8px;
    background-color: var(--primary-color);
}

.conTab {
    width: 100%;
    display: flex;
    justify-content: space-between;
    text-align: center;
    align-items: center;
    border-radius: 10px;
    background-color: #fff;
    border: 1px solid var(--primary-color);
    cursor: pointer;
}

.tabtitle {
    width: 50%;
    font-size: 14px;
    font-weight: 600;
    color: var(--primary-color);
    padding: 14px;
}

.tabtitle.active {
    color: #fff;
    border-radius: 8px;
    background-color: var(--primary-color);
}

.tab-content {
    margin-top: 10px;
}

.secBox {
    background-color: #fff;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 10px;
}

.secBox:has(.btnArea) {
    padding-bottom: 10px;
}

.secBox h2 {
    font-size: 16px;
    font-weight: 600;
    color: var(--primary-color);
    letter-spacing: -0.7px;
}

.secBox h2 span {
    font-size: 12px;
    font-weight: 400;
    color: var(--extra-sub-6);
    margin-left: 10px;
}

.selectBtn {
    width: 100%;
    margin: 5px auto 15px;
}

.selectBtn ul {
    border-radius: 8px;
    overflow: hidden;
    display: flex;
}

.selectBtn li button {
    position: relative;
    width: 110px;
    height: 45px;
    background-color: #fff;
    border: 1px solid var(--extra-sub-5);
    color: #6e6e6e;
    letter-spacing: -0.25px;
}

.selectBtn li button span {
    font-size: 12px;
    font-weight: 400;
    color: #616472;
    position: absolute;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
}

.selectBtn li button.active {
    background-color: var(--accent-color-4);
    border: none;
    box-shadow: inset 0 0 3px 3px rgba(0, 0, 0, .1);
}

.selectBtn li button.active span {
    color: #fff;
}

.selectBtn li button.local {
    background: url("/static/images/ico_local_off.png") 25px center no-repeat;
    border-radius: 8px 0 0 8px;
}

.selectBtn li button.cell {
    background: url("/static/images/ico_cell_off.png") 25px center no-repeat;
}

.selectBtn li button.block {
    background: url("/static/images/ico_block_off.png") 25px center no-repeat;
    border-radius: 0 8px 8px 0
}

.selectBtn li button.local.active {
    background: url("/static/images/ico_local_on.png") 25px center no-repeat var(--accent-color-4);
}

.selectBtn li button.cell.active {
    background: url("/static/images/ico_cell_on.png") 25px center no-repeat var(--accent-color-4);
}

.selectBtn li button.block.active {
    background: url("/static/images/ico_block_on.png") 25px center no-repeat var(--accent-color-4);
}

.areaBtn {
    width: 100%;
    margin: 15px auto;
}

.areaBtn h3 {
    font-size: 14px;
    font-weight: 500;
    color: #3a4058;
    margin-bottom: 5px;
    letter-spacing: -0.7px;
}

.areaBtn ul {
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.areaBtn li .areaBox {
    position: relative;
    width: 80px;
    height: 65px;
    background-color: #fff;
    border: 1px solid var(--extra-sub-5);
    border-radius: 8px;
    color: #6e6e6e;
    letter-spacing: -0.25px;
}

.areaBtn li .areaBox span {
    width: 100%;
    font-size: 12px;
    font-weight: 400;
    color: #616472;
    position: absolute;
    bottom: 6px;
    left: 50%;
    transform: translateX(-50%);
}

.areaBtn li .area01 {
    background: url("/static/images/ico_area_01_off.png") center 8px no-repeat;
}

.areaBtn li .area02 {
    background: url("/static/images/ico_area_02_off.png") center 10px no-repeat;
}

.areaBtn li .area03 {
    background: url("/static/images/ico_area_03_off.png") center 10px no-repeat;
}

.areaBtn li .area04 {
    background: url("/static/images/ico_area_04_off.png") center 8px no-repeat;
}

.areaBtn li .area01.active {
    background: url("/static/images/ico_area_01_on.png") center 8px no-repeat var(--accent-color-4);
}

.areaBtn li .area02.active {
    background: url("/static/images/ico_area_02_on.png") center 10px no-repeat var(--accent-color-4);
}

.areaBtn li .area03.active {
    background: var(--ico-area-03) center 10px no-repeat var(--accent-color-4);
}

.areaBtn li .area04.active {
    background: var(--ico-area-04) center 8px no-repeat var(--accent-color-4);
}

.areaBtn li .areaBox.active {
    background-color: var(--accent-color-4);
    border: none;
    box-shadow: inset 0 0 3px 3px rgba(0, 0, 0, .1);
}

.areaBtn li .areaBox.active span {
    color: #fff;
}

/*-----------------------*
 |       도형 연산       |
 *----------------------*/
.calculation__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.areaBtn li .calculation01 {
    background: url("/static/images/icon_calculation_01_off.png") center 10px no-repeat;
}

.areaBtn li .calculation02 {
    background: url("/static/images/icon_calculation_02_off.png") center 10px no-repeat;
}

.areaBtn li .calculation03 {
    background: url("/static/images/icon_calculation_03_off.png") center 10px no-repeat;
}

.areaBtn li .calculation04 {
    background: url("/static/images/icon_calculation_04_off.png") center 10px no-repeat;
}

.areaBtn li .calculation01.active {
    background: url("/static/images/icon_calculation_01_on.png") center 10px no-repeat var(--accent-color-4);
}

.areaBtn li .calculation02.active {
    background: url("/static/images/icon_calculation_02_on.png") center 10px no-repeat var(--accent-color-4);
}

.areaBtn li .calculation03.active {
    background: url("/static/images/icon_calculation_03_on.png") center 10px no-repeat var(--accent-color-4);
}

.areaBtn li .calculation04.active {
    background: url("/static/images/icon_calculation_04_on.png") center 10px no-repeat var(--accent-color-4);
}

.btnLineRound {
    padding: 3px 20px;
    font-size: 14px;
    font-weight: 600;
    color: var(--primary-color);
    background-color: #fff;
    border: 1px solid var(--primary-color);
    border-radius: 10px;
}

.btnLineRound:hover {
    background-color: var(--primary-color);
    color: #fff;
}

.periodBtn {
    width: 100%;
    margin: 5px auto 8px;
}

.periodBtn ul {
    border-radius: 8px;
    overflow: hidden;
    display: flex;
}

.periodBtn li button {
    position: relative;
    width: 110px;
    height: 45px;
    background-color: #fff;
    border: 1px solid var(--extra-sub-5);
    color: #6e6e6e;
    letter-spacing: -0.25px;
    text-align: center;
}

.periodBtn li button span {
    font-size: 14px;
    font-weight: 500;
    color: #616472;
}

.periodBtn li button.active {
    background-color: var(--accent-color-4);
    border: none;
    box-shadow: inset 0 0 3px 3px rgba(0, 0, 0, .1);
}

.periodBtn li button.active span {
    color: #fff;
}

.periodBtn li button.period01 {
    border-radius: 8px 0 0 8px;
}

.periodBtn li button.period03 {
    border-radius: 0 8px 8px 0;
}

.date {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.date div {
    margin-right: 0;
}

.dateCenter {
    margin: 0 5px;
}

.choiceDate {
    position: relative;
}

.choiceDate input {
    padding: 10px 30px 10px 15px;
    width: 150px;
    border-radius: 8px;
    color: #616472;
}

.choiceDate input::placeholder {
    color: #616472;
}

.choiceDate .datePicker {
    position: absolute;
    right: 15px;
    top: 50%;
    margin-top: -10.5px;
    margin-right: 0;
    width: auto;
    pointer-events: none;
}

.condition-period__input {
    cursor: pointer;
}

.condition-data__header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.searchInputWrap {
    position: relative;
    margin: 5px 0;
}

.searchInputWrap input {
    border-radius: 8px;
}

.searchInputWrap > button {
    width: 20px;
    height: 20px;
    position: absolute;
    top: 14px;
    right: 10px;
    background: var(--ico-search) no-repeat;
}

.searchInput {
    position: relative;
    width: 100%;
    height: 45px;
}

.btnArea {
    margin: 10px auto;
    text-align: center;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}

.btn {
    font-size: 14px;
    font-weight: 600;
    color: var(--primary-color);
    background-color: #fff;
    border-radius: 10px;
    padding: 10px;
    width: 120px;
}

.btnColor_Red {
    background-color: #f9739f;
    color: #fff;
}

.btnColor_Red:hover {
    background-color: #dc3a6f;
}

.btnLine {
    border: 1px solid var(--primary-color);
}

.btnLine:hover {
    background-color: var(--primary-color);
    color: #fff;
}

.selectArea {
    margin-top: 5px;
}

.selectArea select {
    width: 100%;
    padding: 10px;
    border: 1px solid var(--extra-sub-5);
    border-radius: 8px;
    background: var(--ico-select) no-repeat 96% 50% #fff;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size: 14px;
    font-weight: 500;
    color: #616472;
}

.areaSearch {
    display: flex;
    justify-content: space-between;
}

/*-------------------*
 |      지역 검색     |
 *------------------*/
.addressBox {
    position: absolute;
    left: 445px;
    top: 10px;
    display: flex;
    gap: 10px;
    pointer-events: none;
}

.addressBox button {
    font-size: 14px;
    font-weight: 400;
}

.addressBox *:not(div) {
    pointer-events: auto;
}

.current-location__wrapper {
    display: flex;
    flex-direction: column;
}

.current-location__display {
    height: 44px;
    background-color: #fff;
    display: flex;
    align-items: center;
    padding: 8px 20px 8px 13px;
    border-radius: 4px;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
    word-break: keep-all;
}

.current-location__display::before {
    content: '';
    width: 20px;
    height: 20px;
    display: block;
    background: var(--ico-point-p) 0 center no-repeat;
}

.current-location__display li {
    padding-left: 5px;
}

.current-location__display button {
    background-color: transparent;
}

.current-location__list {
    position: relative;
    top: 8px;
    width: fit-content;
    max-height: 250px;
    display: flex;
    flex-direction: column;
    gap: 3px;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 5px 5px 5px 10px;
    border-radius: 0.25rem;
    background-color: white;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}

.current-location__list button {
    display: inline-block;
    width: 100%;
    text-align: start;
    margin-right: 5px;
    background-color: transparent;
}

.current-location__list button:hover {
    background-color: var(--sub-color-light);
}

.location-search__container {
    display: flex;
    gap: 5px;
}

.location-search__container.active .location-search__wrapper {
    display: flex;
}

.location-search__wrapper {
    display: none;
    flex-direction: column;
    gap: 8px;
}

.location-search__input {
    width: 250px;
    height: 44px;
    box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.1);
}

.location-search__results {
    background-color: white;
    max-height: 250px;
    overflow-y: auto;
    gap: 5px;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    max-width: 250px;
    overflow-x: hidden;
    border-radius: 0.5rem;
    box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.1);
}

.location-search__results li {
    display: flex;
    gap: 0.7rem;
    cursor: pointer;
    padding-left: 15px;
}

.location-search__results li:hover {
    background-color: var(--sub-color-light);
}

.location-search__results li i {
    width: 14px;
    height: 18px;
    align-self: center;
    background: var(--ico-point-p) no-repeat;
}

.location-search__results li p {
    text-wrap: nowrap;
    text-overflow: ellipsis;
    overflow-x: hidden;
    width: 212px;
    padding-right: 10px;
}

.location-search__results li .search-main {
    font-weight: 500;
}

.location-search__results li .search-main em.color {
    color: var(--dark-sub-2);
    font-weight: 700;
}

.location-search__results li .search-body {
    color: gray;
    font-weight: 400;
}

.location-search__button {
    width: 90px;
    height: 44px;
    border-radius: 5px;
    background-color: var(--primary-color);
    color: #fff;
    font-size: 14px;
}

.location-search__button:hover {
    background-color: var(--extra-sub-8);
}

.districtBox {
    position: fixed;
    top: 131px;
    left: 470px;
    width: max-content;
    border-radius: 12px;
    background-color: #fff;
    padding: 20px;
    box-shadow: 0 0 5px 2px rgba(0, 0, 0, .2);
}

.popTitle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.popTitle h2 {
    font-size: 16px;
    font-weight: 600;
    color: var(--primary-color);
}

.popClose {
    width: 15px;
    height: 15px;
    background: var(--ico-pop-close) 0 0 no-repeat;
}

.selectBoxWrap {
    display: flex;
    gap: 5px;
    justify-content: space-between;
}

.selectBoxWrap .selectBtn {
    width: 100%;
    padding: 10px;
    border: 1px solid var(--extra-sub-5);
    border-radius: 8px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size: 14px;
    font-weight: 500;
    color: #616472;
    margin: 0;
}

.areaResultWrap {
    background-color: var(--extra-sub-4);
    border-radius: 5px;
    max-height: 200px;
    overflow: auto;
    scrollbar-gutter: stable both-edges;
}

.areaResultWrap li {
    font-size: 13px;
    font-weight: 400;
    color: #4e5267;
    position: relative;
    display: flex;
    gap: 7px;
    padding: 10px 7px;
    border-bottom: 1px solid var(--accent-color-1);
    justify-content: space-between;
}

.areaResultWrap li:last-child {
    border-bottom: none;
}

.areaResultWrap li span {
    font-size: 13px;
    font-weight: 400;
    color: #4e5267;
}

.areaResultWrap li span.bold {
    font-weight: 600;
}

.areaResultWrap li label {
    margin-right: 13px;
}

.mar5 {
    margin: 0 5px;
    font-weight: 100 !important;
}

.marB5 {
    margin: 0 0 5px 0;
}

.checkBox {
    position: absolute;
    right: 25px;
    top: -5px;
}

.check {
    display: inline-block;
    position: relative;
    padding-left: 0;
    font-size: 15px;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    font-size: 14px;
    color: #666;
}

.check input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    padding: 0;
}

.checkmark {
    position: absolute;
    top: 0;
    left: 0px;
    width: 18px;
    height: 18px;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 3px;
}

.check:hover input ~ .checkmark {
    background-color: #fff;
}

.check input:checked ~ .checkmark {
    background-color: #fff;
}

.checkmark::after {
    display: none;
    position: absolute;
    content: "";
}

.check input:checked ~ .checkmark::after {
    display: block;
}

.check .checkmark::after {
    top: 1px;
    left: 5px;
    width: 4px;
    height: 9px;
    border: solid var(--primary-color);
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
}

.dataChoice {
    position: absolute;
    top: 510px;
    left: 405px;
    width: 430px;
    border-radius: 12px;
    background-color: #fff;
    padding: 20px;
    box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, .2);
}

.dataContent {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 0.5rem;
}

.chooseList {
    max-height: 190px;
    overflow: auto;
    border-radius: 5px;
    padding: 5px;
    background-color: var(--extra-sub-4);
}

.chooseList li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 5px;
    padding: 7px 10px;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    background-color: var(--primary-color);
    margin-bottom: 5px;
}

.chooseList li:last-child {
    margin-bottom: 0;
}

.chooseList li span {
    font-size: 12px;
    font-weight: 500;
}

.listClose {
    background: var(--ico-close-circle) 0 0 no-repeat;
    width: 16px;
    height: 16px;
}

.dataCheckList {
    display: flex;
    gap: 10px;
    max-height: 235px;
}

.dataCheckList .list1depth {
    width: 50%;
    overflow-y: scroll;
}

.dataCheckList .list2depth {
    width: 50%;
    overflow: auto;
    background-color: var(--extra-sub-4);
    border-radius: 5px;
    padding: 10px;
}

.dataCheckList .list2depth li {
    position: relative;
    display: flex;
    height: 25px;
}

.dataCheckList .list2depth li .dataTxt {
    font-size: 13px;
    font-weight: 400;
    color: #4e5267;
    padding-left: 24px;
}

.list1depth dt {
    position: relative;
    background-color: var(--primary-color);
    border-radius: 5px;
    padding: 7px 10px;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
}

.list1depth dt::before {
    position: absolute;
    content: '';
    right: 5px;
    top: 50%;
    margin-top: -9.5px;
    width: 20px;
    height: 20px;
    background: url("/static/images/ico_select_w.png") no-repeat 50%;
    transition: transform ease-in-out 0.25s;
    -webkit-transition: transform ease-in-out 0.25s;
}

.list1depth dt.on::before {
    transform: rotate(-180deg);
    -webkit-transform: rotate(-180deg);
}

.list1depth dl {
    margin-bottom: 3px;
}

.listchk {
    width: 100%;
    background-color: var(--extra-sub-4);
    border-radius: 5px;
    padding: 10px;
}

.listchk li {
    position: relative;
    display: flex;
    height: 25px;
}

.listchk li .dataTxt {
    font-size: 13px;
    font-weight: 400;
    color: #4e5267;
    padding-left: 24px;
}

.popBtn {
    margin-top: 10px;
    text-align: center;
    border-top: 1px solid #dcdcdc;
    padding-top: 10px;
}

.popBtn button {
    width: 110px;
    padding: 8px 10px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
}

.popBtn button.btnCancelpop {
    background-color: var(--sub-color-light);
    border: none;
    color: #797788;
}

.popBtn button.btnCancelpop:hover {
    background-color: #797788;
    color: #fff;
}

.popBtn button.btnChoosepop {
    background-color: #fff;
    border: 1px solid var(--accent-color-4);
    color: var(--primary-color);
}

.popBtn button.btnChoosepop:hover {
    background-color: var(--primary-color);
    color: #fff;
}

/*1112 추가*/
.copyright {
    padding: 10px;
    position: relative;
    bottom: 0;
}

.copyright h2 {
    font-size: 14px;
    font-weight: 600;
    color: var(--primary-color);
    letter-spacing: -0.7px;
}

.copyright h2 span {
    font-weight: 300;
}

.copyTxt {
    margin-top: 5px;
}

.copyright p, .copyTxt li, .copyTxt li span {
    font-size: 12px;
    font-weight: 400;
    color: var(--dark-sub-5);
    line-height: 16px;
}

.copyTxt li span.tell {
    background: var(--ico-phone) 0 1px no-repeat;
    padding: 0 10px 0 18px;
}

.copyTxt li span.mail {
    background: var(--ico-mail) 0 2px no-repeat;
    padding: 0 0 0 18px;
}

.cloTxt {
    bottom: -100px;
}

.linkTxt {
    margin-top: 10px;
}

.linkTxt ul {
    display: flex;
    align-items: center;
}

.linkTxt li a {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: var(--extra-sub-10);
}

.linkTxt li a.txtPurple {
    color: var(--accent-color-3);
}

.linkTxt li {
    position: relative;
    padding: 0 7px 0 5px;
}

.linkTxt li:first-child {
    padding-left: 0;
}

.linkTxt li:last-child {
    padding-right: 0;
}

.linkTxt li::after {
    content: '';
    width: 1px;
    height: 12px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background-color: var(--extra-sub-1);
}

.linkTxt li:last-child::after {
    display: none;
}

.btnCopy_open {
    display: block;
    position: absolute;
    top: 10px;
    left: 92px;
}

.copyTxt.closed {
    display: none;
}

.btnCopy_open button {
    width: 20px;
    height: 20px;
    background: url("/static/images/ico_arrow_down.png") center center no-repeat;
    transition: all 1s;
}

.cloTxt .btnCopy_open button {
    width: 20px;
    height: 20px;
    background: url("/static/images/ico_arrow_down.png") center center no-repeat;
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
}

.mainContents {
    height: 100vh;
    overflow: auto;
    background-color: var(--extra-sub-4);
}

.rightArea {
    position: absolute;
    z-index: 100;
    top: 0px;
    right: 0px;
    bottom: 0px;
}

.rightArea .map_choice {
    position: absolute;
    top: 10px;
    right: 15px;
}

.mapList ul {
    display: flex;
    gap: 5px;
    align-items: center;
}

.mapList li {
    height: 45px;
}

.mapList button {
    position: relative;
    border: none;
    width: 95px;
    height: 45px;
    border-radius: 5px;
}

.mapList li.active button {
    border: 5px solid var(--accent-color-4);
}

.mapList button:hover::after {
    border-radius: 5px;
}

.mapList li.active button::after {
    opacity: .8;
    border-radius: 0;
}

.mapList button::after {
    content: "";
    position: absolute;
    border-radius: 5px;
    background-color: #000;
    inset: 0;
    opacity: .3;
}

.mapList button.generalMap {
    background: url("/static/images/img_map_general.png") 0 0 no-repeat;
}

.mapList button.satelliteMap {
    background: url("/static/images/img_map_satellite.png") 0 0 no-repeat;
}

.mapList .mapLabel {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    z-index: 1;
}

.rightArea .map_toolBox {
    position: absolute;
    top: 75px;
    right: 15px;
}

.toolList {
    width: 56px;
}

.toolList dt {
    position: relative;
    width: 100%;
    height: 28px;
    border-radius: 5px;
    background-color: #fff;
    cursor: pointer;
    margin-bottom: 5px;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
}

.toolList dt::before {
    position: absolute;
    content: '';
    top: 50%;
    left: 23px;
    margin-top: -5.5px;
    width: 10px;
    height: 10px;
    background: url("/static/images/ico_arrow_down.png") no-repeat 50%;
    transition: transform ease-in-out 0.25s;
    -webkit-transition: transform ease-in-out 0.25s;
}

.toolList dt.on::before {
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
}

.toolList dd {
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
}

.toolList dd .mapTool {
    background-color: #fff;
    border-bottom: 1px solid #cacac9;
    height: 56px;
    width: 56px;
    color: #9ca3af;
}

.toolList dd .mapTool:first-child {
    border-radius: 5px 5px 0 0;
}

.toolList dd .mapTool:last-child {
    border-bottom: none;
    border-radius: 0 0 5px 5px;
}

.toolList dd .mapTool span {
    display: block;
    min-height: 12px;
    margin-top: 28px;
    font-size: 12px;
    font-weight: 500;
    line-height: 15px;
    letter-spacing: -0.44px;
}

.toolList dd .mapTool:hover {
    background-color: var(--extra-sub-4);
}

.toolList dd .mapTool.active {
    background-color: var(--primary-color);
    color: #fff;
}

.toolList dd .tool01 {
    height: 60px;
    background: url("/static/images/ico_tool_01_off.png") center 10px no-repeat #fff;
}

.toolList dd .tool02 {
    background: url("/static/images/ico_tool_02_off.png") center 10px no-repeat #fff;
}

.toolList dd .tool01.active {
    background: url("/static/images/ico_tool_01_on.png") center 10px no-repeat var(--primary-color);
}

.toolList dd .tool02.active {
    background: url("/static/images/ico_tool_02_on.png") center 10px no-repeat var(--primary-color);
}

.rightArea .map_location {
    position: absolute;
    bottom: 15px;
    right: 15px;
}

.btnLocation {
    width: 40px;
    height: 40px;
    border-radius: 5px;
    cursor: pointer;
    background: url("/static/images/ico_myPosition.png") center center no-repeat #fff;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
}

.btnLocation:hover {
    background: url("/static/images/ico_myPosition_ov.png") center center no-repeat var(--primary-color);
}

.mapControl {
    margin-top: 20px;
    display: grid;
}

.mapControl button {
    width: 40px;
    height: 40px;
    background-color: #fff;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
}

.mapControl button.btnPlus {
    border-radius: 5px 5px 0 0;
    border-bottom: 1px solid #cacac9;
    background: url("/static/images/ico_plus_off.png") center center no-repeat #fff;
}

.mapControl button.btnMinus {
    border-radius: 0 0 5px 5px;
    background: url("/static/images/ico_minus_off.png") center center no-repeat #fff;
}

.mapControl button.btnPlus:hover {
    background: url("/static/images/ico_plus_on.png") center center no-repeat var(--primary-color);
}

.mapControl button.btnMinus:hover {
    background: url("/static/images/ico_minus_on.png") center center no-repeat var(--primary-color);
}

.popup-wrap.active {
    display: block;
}

.popup-wrap {
    background-color: rgba(0, 0, 0, .7);
    justify-content: center;
    justify-items: center;
    align-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: none;
    padding: 15px;
    z-index: 999;
    backdrop-filter: blur(2px);
}

.popup {
    width: 100%;
    max-width: 400px;
    background-color: #ffffff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 5px 10px 10px 1px rgba(0, 0, 0, .3);
}

.popup-head {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 15px;
    border-bottom: 1px solid #dedede;
    padding-bottom: 10px;
}

.popup-head h2 {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.7px;
    color: var(--primary-color);
}

.popup-head button {
    position: absolute;
    right: 0;
    width: 14px;
    height: 14px;
    background: var(--ico-pop-close) no-repeat;
}

.popup-body {
    width: 100%;
    background-color: #fff;
}

.body-content {
    width: 100%;
    padding: 30px;
}

.body-titlebox {
    text-align: center;
    width: 100%;
    height: 40px;
    margin-bottom: 10px;
}

.body-titlebox p {
    font-size: 14px;
    font-weight: 400;
    color: #3a3945;
    letter-spacing: -0.7px;
    line-height: 16px;
}

.popup-foot {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    margin-bottom: 20px;
}

.pop-btn {
    display: block;
    width: 100px;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    border-radius: 50px;
    text-align: center;
    padding: 7px;
}

.pop-btn.close {
    background-color:  var(--mid-sub-5);
}

.pop-btn.confirm {
    background-color: var(--accent-color-4);
}

.pop-btn.close:hover {
    background-color: var(--mid-sub-4);
}

.pop-btn.confirm:hover {
    background-color: var(--primary-color);
}


.regist {
    padding: 10px 0 10px 10px;
}

.regist h2 {
    font-size: 16px;
    font-weight: 600;
    color: #3a3945;
    margin: 15px 10px;
}

.txtH3p {
    font-size: 16px;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 10px;
}

.registList {
    background-color: var(--sub-color-light);
    border-radius: 5px;
    padding: 15px 20px;
}

.registList li {
    font-size: 14px;
    font-weight: 400;
    color: #68676d;
}

.registList li .txtBold {
    font-weight: 600;
}

.result {
    padding: 10px 0 10px 10px;
}

.result h2 {
    font-size: 16px;
    font-weight: 600;
    color: #3a3945;
    margin: 15px 10px;
}

.resultTable {
    height: auto;
    overflow-y: auto;
    margin-top: 20px;
    max-height: 435px;
}

.tableResult {
    width: 100%;
    border: 0;
    border-top: 1px solid var(--primary-color);
    border-bottom: 1px solid var(--sub-color-gray);
    table-layout: auto;
}

.tableResult th {
    background-color: var(--sub-color-lavender);
    font-size: 14px;
    font-weight: 600;
    color: #3a3945;
    padding: 7px 10px;
    border-bottom: 1px solid var(--sub-color-gray);
    text-align: center;
    white-space: nowrap;
}

.tableResult td {
    background-color: #fff;
    font-size: 14px;
    font-weight: 400;
    color: #3a3945;
    padding: 7px 10px;
    text-align: center;
    white-space: nowrap;
    border-left: 1px solid var(--sub-color-gray);
    border-bottom: 1px solid var(--sub-color-gray);
}

.tableResult tr:first-child {
    border-bottom: 2px solid var(--sub-color-gray);
}

.tableResult tr:first-child td {
    font-weight: 600;
}

.btnColor_Purple {
    background-color: var(--accent-color-4);
    color: #fff;
}

.btnColor_Purple:hover {
    background-color: var(--primary-color);
}

.btnColor_Blue {
    background-color: #3182ce;
    color: #fff;
    white-space: nowrap;
    width: auto;
    min-width: 120px;
}

.btnColor_Blue:hover {
    background-color: #2b6cb0;
}

/* ── Insight Panel ── */
.insight-panel {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    margin: 0 10px 10px;
    overflow: hidden;
    transition: max-height 0.3s ease, opacity 0.3s ease;
    max-height: 500px;
    opacity: 1;
}

.insight-panel.hide {
    max-height: 0;
    opacity: 0;
    margin: 0 10px;
    border: none;
}

.insight-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    background: #ebf8ff;
    border-bottom: 1px solid #bee3f8;
    font-weight: 700;
    font-size: 13px;
    color: #2b6cb0;
}

.insight-panel-header button {
    background: none;
    border: none;
    font-size: 18px;
    color: #4a5568;
    line-height: 1;
    padding: 0 4px;
    cursor: pointer;
}

.insight-panel-header button:hover {
    color: #1a202c;
}

.insight-panel-body {
    padding: 14px;
    max-height: 400px;
    overflow-y: auto;
    font-size: 13px;
    line-height: 1.7;
    color: #2d3748;
}

.insight-panel-body table {
    width: 100%;
    border-collapse: collapse;
    margin: 10px 0;
    font-size: 12px;
}

.insight-panel-body th {
    background: #edf2f7;
    padding: 6px 10px;
    font-weight: 600;
    text-align: left;
}

.insight-panel-body td {
    padding: 6px 10px;
    border-bottom: 1px solid #e2e8f0;
}

.insight-panel-body ul, .insight-panel-body ol {
    padding-left: 18px;
    margin: 8px 0;
}

.insight-panel-body li {
    margin: 3px 0;
}

.insight-panel-body strong {
    color: #1a365d;
}

.insight-panel-body hr {
    border: none;
    border-top: 1px solid #e2e8f0;
    margin: 12px 0;
}

.insight-loading {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #718096;
    font-size: 13px;
    padding: 10px 0;
}

.insight-loading::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid #bee3f8;
    border-top-color: #3182ce;
    border-radius: 50%;
    animation: insight-spin 0.8s linear infinite;
}

@keyframes insight-spin {
    to { transform: rotate(360deg); }
}

.infoWindow {
    position: absolute;
    width: auto;
    border-radius: 12px;
    background-color: #fff;
    padding: 20px;
    z-index: 1;
    box-shadow: 0 0 5px 2px rgba(0, 0, 0, .2);
    transform: translate(-50%, -100%);
}

.infoWindow .head {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #dedede;
    padding-bottom: 10px;
}

.infoWindow .head h2 {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.7px;
    color: var(--primary-color);
}

.infoWindow .head button {
    position: absolute;
    right: 0;
    width: 14px;
    height: 14px;
    background: var(--ico-pop-close) no-repeat;
}

.infoWindow .body {
    width: 100%;
    background-color: #fff;
}

.infoWindow .bodyTable {
    height: 200px;
}

.infoWindow .foot {
    width: 100%;
}

.infoWindow .foot span {
    position: relative;
    top: 15px;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 15px;
}

.infoWindow::after {
    content: '';
    position: absolute;
    border-style: solid;
    border-width: 20px 10px 0;
    border-color: #fff transparent;
    display: block;
    width: 0;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    filter: drop-shadow(0px 1px 5px rgba(0, 0, 0, 0.2));
}

.infoWindow .resultTable {
    max-height: 250px;
}

.wb {
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background-color: #fff;
    width: 100px;
    height: 10px;
    bottom: 0;
    z-index: 1;
}

.mapSetting {
    width: 100%;
    max-width: 400px;
    background-color: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 5px 10px 10px 1px rgba(0, 0, 0, .3);
}

.body-table {
    padding: 0 15px 15px;
}

.popTable {
    width: 100%;
    border: 0;
}

.popTable th {
    background-color: var(--sub-color-lavender);
    font-size: 14px;
    font-weight: 600;
    color: #3a3945;
    padding: 10px;
    border-top: 1px solid var(--primary-color);
    border-right: 1px solid var(--sub-color-gray);
    border-bottom: 1px solid var(--sub-color-gray);
    text-align: center;
}

.popTable th:last-child, .popTable td:last-child {
    border-right: none;
}

.popTable th:first-child, .popTable td:first-child {
    width: 45px;
}

.popTable td {
    background-color: #fff;
    font-size: 14px;
    font-weight: 400;
    color: #3a3945;
    padding: 10px;
    border-right: 1px solid var(--sub-color-gray);
    border-bottom: 1px solid var(--sub-color-gray);
    text-align: left;
}

.popTable td.txtCen {
    text-align: center;
}

.popTable thead tr, .popTable tbody tr {
    display: table;
    width: 370px;
}

.popTable tbody {
    display: block;
    height: 230px;
    overflow-y: auto;
    overflow-x: hidden;
}

.txtSymbol {
    padding: 0 5px;
    font-size: 14px;
    font-weight: 400;
}

.detailBox {
    width: 100%;
    max-width: 1400px;
    background-color: var(--extra-sub-4);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 5px 10px 10px 1px rgba(0, 0, 0, .3);
}

.data_D_contents {
    position: relative;
    display: flex;
    gap: 10px;
    padding: 0 20px 15px;
    background-color: var(--extra-sub-4);
}

.data_D_left {
    position: relative;
    width: 270px;
    height: 640px;
    padding: 15px 10px;
}

.data_D_left .titH2 h2 {
    font-size: 14px;
}

.btn_WH {
    width: 83px !important;
    height: 40px !important;
}

.btn_WH span {
    font-size: 12px !important;
}

.treeList {
    height: 482px;
    overflow-y: auto;
    border: 1px solid var(--accent-color-1);
    border-radius: 5px;
    padding: 5px;
    margin: 5px 0;
}

.left_bottom {
    position: absolute;
    left: 10px;
    bottom: 10px;
}

.dataTable {
    position: absolute;
    background-color: var(--dark-sub-1);
    width: 300px;
    border-radius: 10px;
    padding: 15px;
    left: 0;
    bottom: 30px;
    z-index: 100;
}

.topTitle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.topTitle h2 {
    background: var(--ico-data-info) 0 0 no-repeat var(--dark-sub-1);
    padding-left: 20px;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
}

.topTitle button {
    background: url("/static/images/btn_close_white.png") 0 0 no-repeat var(--dark-sub-1);
    width: 15px;
    height: 15px;
}

.dataTable th {
    background-color: var(--dark-sub-4);
    border-right: 1px solid var(--dark-sub-3);
    font-size: 12px;
    font-weight: 600;
    color: var(--mid-sub-3);
    padding: 5px;
}

.dataTable td {
    text-align: center;
    font-size: 11px;
    font-weight: 400;
    color: var(--accent-color-2);
    border-bottom: 1px solid var(--primary-color);
    border-right: 1px solid var(--primary-color);
    padding: 5px 5px 4px 5px;;
}

.dataTable td:last-child, th:last-child {
    border-right: none;
}

.dataTable td:nth-child(3), td:nth-child(4) {
    text-align: center;
}

.dataInfo {
    background: var(--ico-data-info) 5px center no-repeat var(--primary-color);
    border-radius: 50px;
    width: 90px;
    height: 24px;
}

.dataInfo span {
    font-size: 12px;
    font-weight: 500;
    color: #fff;
    margin-left: 10px;
}

.data_D_right {
    width: 100%;
}

.topSection {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.width200 {
    width: 200px;
}

.width200 select {
    height: 39px;
}

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

.btnDown {
    background: url("/static/images/ico_excel.png") 15px center no-repeat #fff;
    border: 1px solid var(--accent-color-1);
    border-radius: 5px;
    position: relative;
    padding-left: 46px;
    padding-right: 15px;
    height: 39px;
}

.btnDown span {
    font-size: 12px;
    font-weight: 600;
    color: #616472;
}

.btnTab .tabtn {
    display: flex;
    align-items: center;
}

.btnTab .tabtn li {
    border: 1px solid var(--accent-color-1);
    font-size: 12px;
    font-weight: 600;
    color: var(--primary-color);
    height: 39px;
    cursor: pointer;
    padding: 10px 15px 10px 40px;
}

.btnTab .tabtn li.tabTable {
    background: var(--ico-table-off) 15px center no-repeat #fff;
    border-radius: 5px 0 0 5px;
    border-right: none;
}

.btnTab .tabtn li.tabChart {
    background: var(--ico-chart-off) 15px center no-repeat #fff;
    border-radius: 0 5px 5px 0;
    border-left: none;
}

.btnTab .tabtn li.tabTable.current {
    background: url("/static/images/ico_table_on.png") 15px center no-repeat var(--primary-color);
}

.btnTab .tabtn li.tabChart.current {
    background: url("/static/images/ico_chart_on.png") 15px center no-repeat var(--primary-color);
}

.btnTab .tabtn li.current {
    background: var(--primary-color);
    color: #fff;
}

.chart-content-warp {
    display: none;
    height: 590px;
    background-color: #fff;
    border-radius: 10px;
    padding: 10px;
}

.chart-content-warp:has(> .current) {
    display: flex;
    flex-direction: column;
}

.marb0 {
    margin-bottom: 0;
}

.chart-content {
    flex: 1;
    border: 1px solid #e3e5e8;
    height: 100%;
}

.tab2Contents {
    display: flex;
    gap: 10px;
    height: 100%;
}

.conLeft {
    width: 65%;
}

.conRight {
    width: 35%;
    overflow-y: auto;
}

.chartTop {
    padding: 10px 3px;
    display: flex;
    justify-content: space-between;
}

.chartTop .tab2Tit {
    font-size: 17px;
    font-weight: 600;
    color: var(--primary-color);
}

.chartTop .tab2Tit span {
    font-weight: 400;
}

.chartBtn_area {
    display: flex;
    gap: 10px;
    align-items: center;
}

.chartBtn_area span {
    font-size: 14px;
    font-weight: 500;
    color: #494858;
}

.graph-type-select {
    padding: 4px 8px;
    border: 1px solid var(--accent-color-1);
    border-radius: 5px;
    font-size: 13px;
    font-family: 'Pretendard', sans-serif;
    background-color: #fff;
    cursor: pointer;
    min-width: 100px;
    height: 28px;
}

.graph-type-select:focus {
    outline: 2px solid var(--primary-color);
    outline-offset: -1px;
}

.graph-type-select option:disabled {
    color: #aaa;
}

.conLeft .chartArea {
    padding: 10px;
}

.rcab {
    border-bottom: 1px solid #cfd2d8;
    padding: 10px;
}

.rcab:first-child {
    padding-top: 0;
}

.rcab .chartBoxTop {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rcab .chartBoxTop h4 {
    font-size: 12px;
    font-weight: 600;
    color: #494858;
}

.rcab .chartBoxTop .btntopR {
    font-size: 12px;
    font-weight: 500;
    color: var(--primary-color);
    background-color: #f4f3f8;
    border: 1px solid var(--mid-sub-3);
    border-radius: 50px;
    padding: 2px 8px;
}

.rcab .chartBoxTop .btntopR:hover {
    background-color: var(--mid-sub-3);
    color: #fff;
}

.rcab .areaChart {
    padding: 10px;
    min-height: 110px;
}

.mainContents .mainContent {
    display: none;
}

.mainContents .mainContent.active {
    display: block;
    animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}

.yearpicker-container {
    position: fixed;
}

.no-data-text {
    justify-items: center;
    height: 200px;
    align-content: center;
}

#popup-data-choice .no-data-text {
    border-radius: 1rem;
    background-color: var(--extra-sub-4);
}

/* 분포도 */
.distributionBox {
    position: absolute;
    top: 30px;
    right: 70px;
    width: 340px;
    border-radius: 14px;
    background-color: #fff;
    padding: 14px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, .18);
}

.distributionBox .selectList {
    width: 100%;
    padding: 10px;
    border: 1px solid var(--extra-sub-5);
    border-radius: 8px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size: 14px;
    font-weight: 500;
    color: #616472;
    margin: 0 0 5px 0;
}

.distributionBox .btnWrap {
    overflow-y: auto;
    max-height: 225px;
    margin: 0 -10px;
    scrollbar-gutter: stable both-edges;
}

.selectWrap {
    margin-bottom: 10px;
}

.btnWrap button {
    margin-bottom: 5px;
}

.btn_pur_line {
    background-color: #fff;
    border: 1px solid var(--accent-color-4);
    color: var(--primary-color);
    padding: 5px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    width: 100%;
}

.btn_pur_line:hover {
    background-color: var(--sub-color-light);
}

.btn_pur_line.active {
    background-color: var(--accent-color-4);
    color: #fff;
}

.selectResult {
    background-color: var(--accent-color-4);
    color: #fff;
    padding: 15px;
    border-radius: 6px;
    margin-bottom: 10px;
}

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

.width120 {
    width: 120px;
}

.distriDetail {
    position: absolute;
    top: 107px;
    right: 350px;
    width: 410px;
    border-radius: 12px;
    background-color: var(--extra-sub-4);
    padding: 10px;
    box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, .2);
}

.resultDtail {
    background-color: var(--accent-color-4);
    color: #fff;
    padding: 15px;
    border-radius: 6px;
    margin-bottom: 5px;
    text-align: center;
}

.resultDtail p {
    font-size: 16px;
    font-weight: 600;
}

.resultDtail span {
    font-size: 14px;
    font-weight: 400;
}

.distriChart {
    background-color: #fff;
    border-radius: 6px;
    padding: 10px;
    min-height: 200px;
    margin-bottom: 10px;
}

.distriTable {
    background-color: #fff;
    border-radius: 6px;
    padding: 10px;
    min-height: 220px;
}

.tableA {
    width: 100%;
    color: #71707b;
}

.tableA th {
    font-size: 12px;
    font-weight: 600;
    background-color: #ebe9f4;
    padding: 7px;
    border-bottom: 1px solid var(--sub-color-pinkish);
    border-right: 1px solid var(--sub-color-pinkish);
}

.tableA td {
    font-size: 12px;
    font-weight: 500;
    text-align: center;
    padding: 7px;
    border-bottom: 1px solid var(--sub-color-pinkish);
    border-right: 1px solid var(--sub-color-pinkish);
}

.tableA th:last-child, .tableA td:last-child {
    border-right: none;
}

.tableA th.rLine {
    border-right: 1px solid var(--sub-color-pinkish);
}

.distributionBox .selectResult:hover {
    cursor: pointer;
}

.distributionBox .selectResult button {
    width: 100%;
    height: 100%;
    color: white;
    background-color: transparent;
}

/* 모드 Pill 토글 */
.dist-mode-strip {
    display: flex; gap: 2px; padding: 4px;
    background: #f5f5f7; border-radius: 10px; margin-bottom: 12px;
}
.dist-mode-pill {
    flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px;
    padding: 8px 4px; border-radius: 8px; border: none; background: transparent;
    cursor: pointer; font-size: 11px; font-weight: 500; color: #888;
    transition: all .15s;
}
.dist-mode-pill .dist-mode-icon { font-size: 16px; line-height: 1; }
.dist-mode-pill.active {
    background: #fff; color: #333; font-weight: 600;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .08);
}
.dist-mode-pill:hover:not(.active) { color: #555; }

/* 데이터 칩 */
.dist-data-chip {
    display: inline-flex; align-items: center; gap: 8px;
    background: linear-gradient(135deg, var(--accent-color-4), var(--primary-color));
    color: #fff; padding: 6px 12px; border-radius: 20px;
    font-size: 12px; font-weight: 600; margin-bottom: 10px;
}
.dist-chip-close {
    width: 18px; height: 18px; border-radius: 50%;
    background: rgba(255, 255, 255, .25); border: none;
    color: #fff; font-size: 12px; line-height: 1;
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    transition: background .15s;
}
.dist-chip-close:hover { background: rgba(255, 255, 255, .4); }

/* 인라인 통계 카드 */
.dist-inline-stats {
    display: grid; grid-template-columns: 1fr 1fr 1fr;
    gap: 6px; margin-bottom: 10px;
}
.dist-stat-card {
    background: #f7f8fa; border-radius: 8px;
    padding: 8px; text-align: center;
}
.dist-stat-label { display: block; font-size: 10px; color: #aaa; margin-bottom: 2px; }
.dist-stat-value { display: block; font-size: 14px; font-weight: 700; color: #333; }

/* 아코디언 섹션 */
.dist-accordion {
    margin-bottom: 6px; border-radius: 8px; background: #f7f8fa;
    overflow: hidden;
}
.dist-accordion-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 8px 10px; cursor: pointer; user-select: none;
}
.dist-accordion-title {
    font-size: 12px; font-weight: 700; color: #555;
}
.dist-accordion-actions {
    display: flex; align-items: center; gap: 6px;
}
.dist-accordion-chevron {
    font-size: 10px; color: #bbb; transition: transform .2s;
}
.dist-accordion.collapsed .dist-accordion-chevron { transform: rotate(-90deg); }
.dist-accordion-body {
    padding: 0 10px 8px;
}
.dist-accordion.collapsed .dist-accordion-body { display: none; }

/* 하단 액션 바 */
.dist-action-bar {
    display: flex; gap: 6px; margin-top: 10px;
    padding-top: 10px; border-top: 1px solid #f0f0f0;
}
.dist-action-btn {
    flex: 1; padding: 8px; border: 1px solid #e0e0e0;
    border-radius: 8px; background: #fff; cursor: pointer;
    font-size: 11px; font-weight: 500; color: #555;
    display: flex; align-items: center; justify-content: center; gap: 4px;
    transition: border-color .15s, color .15s;
}
.dist-action-btn:hover { border-color: var(--accent-color-4); color: var(--accent-color-4); }
.dist-action-btn.active { background: var(--accent-color-4); color: #fff; border-color: var(--accent-color-4); }
.dist-action-icon { font-size: 13px; }

/* 슬라이더 컨트롤 */
.dist-heat-controls label,
.dist-dot-controls label {
    display: flex; align-items: center; gap: 6px;
    margin: 6px 0; font-size: 13px; color: #616472; white-space: nowrap;
}
.dist-heat-controls input[type="range"],
.dist-dot-controls input[type="range"] { flex: 1; min-width: 0; }
.dist-dot-controls input[type="color"] {
    flex: 1; height: 32px; min-width: 60px; padding: 2px;
    border: 1px solid var(--extra-sub-5); border-radius: 6px; cursor: pointer;
}
.dist-gradient-select { margin-top: 6px; }
.dist-gradient-select select {
    width: 100%; padding: 6px 8px; border: 1px solid var(--extra-sub-5);
    border-radius: 6px; font-size: 13px; color: #616472;
}

/* 범례 */
.dist-legend {
    background: white; padding: 8px 12px; border-radius: 6px;
    box-shadow: 0 1px 5px rgba(0,0,0,.3); font-size: 12px;
    margin: 0 5rem 1rem 0 !important;
}
.dist-legend-gradient { height: 12px; width: 120px; border-radius: 3px; }
.dist-legend-labels { display: flex; justify-content: space-between; margin-top: 4px; }
.dist-legend-dot {
    display: inline-block; width: 10px; height: 10px;
    border-radius: 50%; margin-right: 6px; vertical-align: middle;
}
.dist-legend-header { margin-bottom: 4px; }
.dist-legend-header strong { font-size: 12px; }
.dist-legend-header span { font-size: 11px; color: #888; margin-left: 4px; }
.dist-legend-count { font-size: 11px; color: #888; margin-bottom: 4px; }
.dist-legend-graduated { display: flex; flex-direction: column; gap: 2px; }
.dist-legend-item { display: flex; align-items: center; gap: 4px; font-size: 11px; }

/* 등급 컨트롤 */
.dist-representation { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--extra-sub-5); }
.dist-representation label { font-size: 13px; }
.dist-representation select {
    width: 100%; padding: 4px 6px; border: 1px solid var(--extra-sub-5);
    border-radius: 6px; font-size: 13px; color: #616472;
    appearance: none; -webkit-appearance: none;
}
.dist-graduated-options { margin-top: 4px; padding-left: 8px; }

/* 통계 패널 (인라인 카드로 대체, 하위호환) */
.dist-stats-panel { display: none; }

/* 시간 슬라이더 (아코디언 내부) */
.dist-time-header {
    display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px;
}
.dist-time-label { font-size: 13px; font-weight: 600; color: #333; }
.dist-time-play {
    width: 28px; height: 28px; border: 1px solid var(--extra-sub-5);
    border-radius: 50%; background: #fff; cursor: pointer;
    font-size: 12px; line-height: 1; display: flex; align-items: center; justify-content: center;
}
.dist-time-play:hover { background: var(--accent-color-4); color: #fff; }
.dist-time-slider { width: 100%; margin: 4px 0; cursor: pointer; }
.dist-time-range {
    display: flex; justify-content: space-between;
    font-size: 11px; color: #888;
}

/* 포인트 팝업 */
.dist-popup { min-width: 180px; }
.dist-popup-title {
    font-weight: 600; margin-bottom: 6px; padding-bottom: 4px;
    border-bottom: 1px solid #eee; font-size: 13px;
}
.dist-popup-row {
    display: flex; justify-content: space-between; margin: 3px 0; font-size: 12px;
}
.dist-popup-row span:first-child { color: #888; }

/* 값 범위 필터 (아코디언 내부) */
.dist-filter-reset {
    font-size: 11px; color: #888; background: none; border: 1px solid #ddd;
    border-radius: 4px; padding: 2px 6px; cursor: pointer;
}
.dist-filter-reset:hover { background: #eee; }
.dist-filter-range {
    position: relative; height: 24px;
}
.dist-filter-range input[type="range"] {
    position: absolute; width: 100%; top: 0; left: 0;
    pointer-events: none; background: none; -webkit-appearance: none; appearance: none;
}
.dist-filter-range input[type="range"]::-webkit-slider-thumb {
    pointer-events: auto; -webkit-appearance: none;
    width: 14px; height: 14px; background: var(--accent-color-4); border-radius: 50%; cursor: pointer;
}
.dist-filter-labels {
    display: flex; justify-content: space-between; font-size: 11px; color: #888;
}

/* 클러스터 라벨 */
.dist-cluster-label {
    background: none !important; border: none !important;
    display: flex; align-items: center; justify-content: center;
}
.dist-cluster-label span {
    font-size: 11px; font-weight: 700; color: #fff;
    text-shadow: 0 1px 2px rgba(0,0,0,.5);
    pointer-events: none;
}
.dist-legend-cluster { display: flex; flex-direction: column; gap: 4px; }

/* 밀집 영역, 내보내기 → 하단 액션 바로 이동 */

/* 인라인 로딩 */
.dist-inline-loading {
    text-align: center; padding: 12px; font-size: 13px; color: #888;
}
.dist-inline-loading::before {
    content: ''; display: inline-block; width: 14px; height: 14px;
    border: 2px solid #ddd; border-top-color: var(--accent-color-4);
    border-radius: 50%; animation: dist-spin .6s linear infinite;
    margin-right: 6px; vertical-align: middle;
}
@keyframes dist-spin { to { transform: rotate(360deg); } }


/*---------------------------*
 |         Leaflet           |
 *---------------------------*/
.custom-tooltip {
    padding: 0;
    border: none;
    background: none;
    box-shadow: none;
}

.custom-tooltip .markIcon {
    transform: translate(-50%, -55%);
}

.custom-tooltip.leaflet-tooltip-top:before {
    content: none;
}

.markIcon {
    position: absolute;
    padding: 4px 12px;
    background-color: #fff;
    font-size: 13px;
    display: inline-block;
    white-space: nowrap;
    border: 3px solid var(--primary-color);
    color: var(--primary-color);
    border-radius: 28px;
}

.markIcon.active::after {
    content: '';
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translate(-50%, -50%);
    border-style: solid;
    border-width: 12px 8px 0 8px;
    border-color: var(--primary-color) transparent transparent transparent;
}

.disable-background-popup .leaflet-popup-content-wrapper {
    border: none;
    background: none;
    box-shadow: none;
}

.disable-background-popup .leaflet-popup-content {
    width: fit-content !important;
    margin: 0;
    align-content: center;
}

.disable-background-popup .leaflet-popup-tip-container {
    display: none;
}

.disable-background-popup .leaflet-popup-content p {
    margin: 0 0 0 5px;
}

/*-------------------------*
 |          Popup          |
 *------------------------*/
/*----- Detail-Data -----*/
.tabulator .tabulator-header .tabulator-col:not(:last-child),
.tabulator-row .tabulator-cell:not(:last-child) {
    border-right: 1px solid #ddd;
}

/*----- Thematic-Map -----*/
#popup-thematic-map * {
    font-weight: 500;
}
#popup-thematic-map .txtBold {
    font-weight: 700;
}
.pop-btn.disabled {
    cursor: not-allowed;
}

.tm-container {
    position: absolute;
    bottom: -300px;
    width: 100%;
    z-index: 1;
    justify-items: center;
    transition: bottom ease-in-out 0.25s;
    -webkit-transition: bottom ease-in-out 0.25s;
}
.tm-container.active {
    bottom: 0;
}

.tm-slider {
    width: 40%;
    position: absolute;
    bottom: 15px;
    left: calc(50% - 70px);
    transform: translateX(-50%);
    background-color: #fff;
    padding: 13px 18px;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.tm-slider p {
    background: var(--ico-slide-title) 0 0 no-repeat;
    padding-left: 26px;
}
.tm-slider .close {
    background: url("/static/images/btn_close_s.png") center center no-repeat;
    width: 10px;
    height: 10px;
    font-size: 0;
}
.tm-slider .tm-progress-container {
    flex: 1;
}

.tm-panel {
    position: absolute;
    width: auto;
    bottom: 15px;
    right: 140px;
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
    padding: 10px 15px;
}
.tm-panel dt.tm-panel-title:before {
    position: absolute;
    content: '';
    right: 15px;
    top: 20px;
    margin-top: -8.5px;
    width: 20px;
    height: 20px;
    background: url("/static/images/btn_closeDown.png") no-repeat;
    transition: transform ease-in-out 0.25s;
    -webkit-transition: transform ease-in-out 0.25s;
}
.tm-panel dt.on.tm-panel-title:before {
    transform: rotate(-180deg);
    -webkit-transform: rotate(-180deg);
}

.tm-panel dt {
    line-height: 18px;
    cursor: pointer;
}
.tm-panel dd {
    border-top: 1px solid #ececec;
    padding-top: 10px;
    margin-top: 10px;
}
.tm-panel .tm-legend dl {
    display: flex;
    align-items: center;
}
.tm-panel .tm-legend dd {
    overflow-x: hidden;
    text-overflow: ellipsis;
    font-weight: 400;
    border: none;
    padding-top: 0;
    margin-top: 0;
    margin-left: 10px;
}
.tm-panel .tm-legend dt {
    width: 80px;
    height: 12px;
    left: 15px;
    background-color: #dedede;
}
.tm-panel .tm-legend dt.scale {
    transform: scale(1.1);
}

/* 팔레트 설정 */
.tm-palette-settings {
    display: flex;
    gap: 12px;
    padding: 10px 15px;
    border-top: 1px solid #ececec;
    margin-top: 5px;
}
.tm-setting-group {
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex: 1;
}
.tm-setting-group label {
    font-size: 12px;
    font-weight: 600;
    color: #555;
}
.tm-palette-select,
.tm-class-select {
    height: 30px;
    border: 1px solid #d2d5db;
    border-radius: 4px;
    padding: 0 8px;
    font-size: 12px;
    font-family: 'Pretendard', sans-serif;
    background-color: #fff;
    cursor: pointer;
}
.tm-palette-select:focus,
.tm-class-select:focus {
    outline: none;
    border-color: var(--primary-color, #5d579f);
}
.tm-palette-preview {
    display: flex;
    height: 14px;
    border-radius: 3px;
    overflow: hidden;
    margin-top: 2px;
}
.tm-palette-preview .tm-swatch {
    flex: 1;
    min-width: 0;
}

/* 표현 방식 선택 */
.tm-mode-select {
    height: 30px;
    border: 1px solid #d2d5db;
    border-radius: 4px;
    padding: 0 8px;
    font-size: 12px;
    font-family: 'Pretendard', sans-serif;
    background-color: #fff;
    cursor: pointer;
}
.tm-mode-select:focus {
    outline: none;
    border-color: var(--primary-color, #5d579f);
}

/* 비례원 범례 */
.tm-proportional-legend {
    display: block;
    margin: 5px auto 0;
    overflow: visible;
}

.tm-blind {
    justify-items: center;
    text-align: center;
}

.tm-layer-popup {
    width: 180px;
    height: fit-content;
    position: absolute;
    z-index: 1;
    border-radius: 10px;
    box-shadow: 1px 1px 5px #aaa;
    pointer-events: none;
    transform: translate(-10%, -100%);
}
.tm-layer-popup .tm-header {
    display: block;
    background: var(--accent-color-4);
    text-align: center;
    color: #fff;
    margin: 0;
    padding: 10px 0;
    font-size: 10pt;
    font-weight: 500;
    border-radius: 10px 10px 0 0;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}
.tm-layer-popup.headless h3.tm-header {
    display: none;
}
.tm-layer-popup .tm-content {
    display: flex;
    gap: 5px;
    align-items: center;
    justify-content: center;
    position: relative;
    background: #fff;
    padding: 10px;
    border-radius: 0 0 10px 10px;
}
.tm-layer-popup .tm-content strong {
    text-align: center;
    font-size: 10pt;
    font-weight: 500;
    color: #434343;
}
.tm-layer-popup.headless .tm-content {
    border-radius: 10px;
}

/*-------------------------*
 |        Component        |
 *------------------------*/
/*------ File Tree ------*/
.file-tree {
    list-style: none;
    max-width: 300px;
    font-weight: 500;
    width: 100%;
    height: auto;
}
.file-tree ul {
    padding-left: 1rem;
    margin-left: 1rem;
    border-left: 1px dashed lightgray;
}
.file-tree li {
    margin: 3px 0;
    cursor: pointer;
    position: relative;
    list-style: none;
}
.folder > .tree-label > .tree-name::before,
.folder.collapsed:hover > .tree-label > .tree-name::before {
    content: "📂";
    margin-right: 4px;
}
.folder.collapsed > .tree-label > .tree-name::before {
    content: "📁 ";
}
.file > .tree-label > .tree-name::before {
    content: "📄 ";
    margin-right: 4px;
}
.file-tree li.selected > .tree-label .tree-name {
    font-weight: bold;

}
.collapsed > ul {
    display: none;
}
.tree-label {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 3px;
    border-radius: 6px;
}
.tree-label .tree-name {
    flex: 1;
    font-weight: 500;
    text-wrap: nowrap;
    text-overflow: ellipsis;
    overflow-x: hidden;
}
.tree-label input[type="checkbox"] {
    margin-left: 8px;
    cursor: pointer;
    -webkit-appearance: checkbox;
    -webkit-border-radius: 0;
}

.file-tree li:hover > .tree-label {
    background-color: var(--extra-sub-4);
}

/*----- Progress bar -----*/
.dpb-container {
    display: flex;
    margin: 5px;
    padding: 0 5px;
    align-items: center;
}
.dpb-progress-container {
    position: relative;
    height: 7px;
    background-color: #ddd;
    border-radius: 5px;
    cursor: pointer;
    flex: 1;
}
.dpb-progress-bar {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    background-color: var(--accent-color-4);
    width: 0;
    border-radius: 5px;
    transition: width 0.1s;
}
.dpb-progress-handle {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: #fff;
    border: 2px solid #ccc;
    border-radius: 50%;
    cursor: pointer;
    transition: left 0.1s;
    z-index: 1;
}
.dpb-button {
    font-size: 14px;
    cursor: pointer;
    margin-right: 5px;
    border: none;
    background: url("/static/images/ico-play-48.png") no-repeat;
    background-size: contain;
}
.dpb-button[data-status="playing"] {
    background: url("/static/images/ico-pause-48.png") no-repeat;
    background-size: contain;
}

/*------ Loading ------*/
.loading-container {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9999999;
    display: flex;
    height: 100%;
    width: 100%;
    opacity: 0;
    pointer-events: none;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s ease;
    background-color: rgba(255, 255, 255, 0.3);
}
.loading-container.visible {
    opacity: 1;
    pointer-events: auto;
}

.loading-container .loader{
    position: relative;
    margin: 80px auto;
    text-indent: -9999em;
    font-size: 10px;
    color: var(--accent-color-4);
    transform: translateZ(0);
    animation-delay: -0.16s;
}
.loading-container .loader::before{
    position: absolute;
    top: 0;
    content: '';
    left: -3.5em;
}
.loading-container .loader::after{
    position: absolute;
    top: 0;
    content: '';
    left: 3.5em;
}

.loading-container .loader,
.loading-container .loader:before,
.loading-container .loader:after{
    height: 2.5em;
    width: 2.5em;
    border-radius: 50%;
    animation-fill-mode: both;
    animation: loaderAni 1.8s infinite ease-in-out;
}

.loading-container .loader:before {
    animation-delay: -0.32s;
}

@keyframes loaderAni {
    0%,
    80%,
    100% { box-shadow: 0 2.5em 0 -1.3em;}
    40% { box-shadow: 0 2.5em 0 0; }
}

.loading-message {
    text-align: center;
    margin-top: 100px;
    color: #888;
    font-size: 13px;
    letter-spacing: 0.5px;
}

/*------------------------*
 |         북마크         |
 *-----------------------*/
.bookmark-info {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.bookmark-info dt {
    width: 13%;
    text-align: center;
    align-self: center;
}
.bookmark-info > dl {
    display: flex;
    gap: 15px;
    justify-content: space-between;
}
.bookmark-info dd {
    flex: 1;
}

.bookmark-info-title input,
.bookmark-info-description textarea {
    width: 100%;
    border: 1px solid #dcdcdc;
    display: inline-block;
    box-sizing: border-box;
    padding: 0.5em 1.5rem 0.5em 0.8em;
    font-size: 14px;
    font-weight: 400;
    border-radius: 4px;
}

.popup-wrap[data-type="bookmark"] .line { margin: 15px 10px; }
.popup-wrap[data-type="bookmark"] .body-content { padding: 10px 15px; }
.popup-wrap[data-type="bookmark"] .bookmark-option .registList { margin: 5px; }

/*───────── Modal ─────────*/
/* 모달 최상위 컨테이너 */
.modal-wrapper {
    display: inline-block;
    position: fixed;
    vertical-align: top;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 12px;
    padding: 16px;

    z-index: 999;

    min-height: 100px;
    max-height: 500px;

    white-space: nowrap;
    box-shadow: 0 0 5px 2px rgba(0, 0, 0, .2);
}

/* 헤더 영역 */
.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    cursor: move;
}
.modal-header h2 {
    font-size: 16px;
    font-weight: 600;
    color: var(--primary-color);
}
.modal-header .btn-close {
    border: none;
    cursor: pointer;
    width: 15px;
    height: 15px;
    background: var(--ico-pop-close) 0 0 no-repeat;
}

/* 바디 영역(전체) */
.modal-body {
    display: inline-flex;
    gap: 20px;
}
.modal-body .modal-content-warp {
    display: flex;
    gap: 10px;
}
.modal-body .modal-content {
    display: inline-block;
    max-height: 300px;
    overflow-y: auto;
    vertical-align: top;
    min-width: 150px;
}
.modal-body .data-text {
    font-size: 13px;
    font-weight: 400;
    color: #4e5267;
    padding-left: 24px;
}

/* 푸터 영역 */
.modal-footer {
    display: flex;
    width: 100%;
    gap: 5px;
    justify-content: center;
    align-items: center;
    margin: 15px 0 5px 0;
}
.modal-footer button {
    display: block;
    width: 100px;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    border-radius: 50px;
    text-align: center;
    padding: 7px;
}
.modal-footer .btn-cancel {
    background-color: #f9739f;
}
.modal-footer .btn-cancel:hover {
    background-color: #dc3a6f;
}
.modal-footer .btn-confirm {
    background-color: var(--accent-color-4);
}
.modal-footer .btn-confirm:hover {
    background-color: var(--primary-color);
}

/* 왼쪽 체크박스 목록 */
.column-panel-inner dl {
    margin-bottom: 3px;
}
.column-panel-inner dt {
    position: relative;
    padding: 7px 30px 7px 10px;
    background-color: var(--primary-color);
    border-radius: 5px;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    white-space: nowrap;
}
.column-panel-inner dt::before {
    position: absolute;
    content: '';
    right: 5px;
    top: 50%;
    width: 20px;
    height: 20px;
    margin-top: -9.5px;
    background: url("/static/images/ico_select_w.png") no-repeat 50%;
    transition: transform ease-in-out 0.25s;
    -webkit-transition: transform ease-in-out 0.25s;
}
.column-panel-inner dt.on::before {
   transform: rotate(-180deg);
   --webkit-transform: rotate(-180deg);
}
.column-panel-inner ul {
    list-style: none;
    background-color: var(--extra-sub-4);
    border-radius: 5px;
    padding: 10px;
}
.column-panel-inner li {
    align-items: center;
    position: relative;
    display: flex;
    height: 25px;
}

/* 중간 "전체 / 점포 수" 선택 */
.selection-panel {
    background-color: var(--extra-sub-4);
    border-radius: 5px;
}
.selection-panel ul {
    list-style: none;
    padding: 10px;
}
.selection-panel li {
    position: relative;
    display: flex;
    height: 25px;
}

/* 오른쪽 선택된 항목 태그 */
.tag-panel {
    display: inline-block;
    vertical-align: top;
    border-radius: 5px;
    background-color: var(--extra-sub-4);
}
.tag-panel ul {
    display: flex;
    flex-direction: column;
    list-style: none;
    padding: 5px;
    gap: 3px;
    white-space: nowrap;
}
.tag-panel li {
    display: flex;
    gap: 5px;
    font-size: 12px;
    font-weight: 500;
    align-items: center;
    justify-content: space-between;
    border-radius: 5px;
    padding: 7px 10px;
    color: #fff;
    background-color: var(--primary-color);
}
.btn-tag-close {
    border: none;
    cursor: pointer;
    margin-left: 6px;

    width: 16px;
    height: 16px;
    background: var(--ico-close-circle) 0 0 no-repeat;
}

/*───────── DataModal v2 (2단 패널 + 칩) ─────────*/

/* 모달 오버라이드 */
.dm-v2 {
    width: 560px;
    max-width: calc(100vw - 40px);
    padding: 0;
    max-height: 540px;
    white-space: normal;
    border-radius: 12px;
    overflow: hidden;
}
.dm-v2 .modal-header {
    padding: 14px 16px 8px;
    margin-bottom: 0;
}
.dm-v2 .modal-body {
    display: block;
    gap: 0;
    padding: 0;
}

/* 검색 바 */
.dm-search {
    padding: 0 16px 10px;
    position: relative;
}
.dm-search-ico {
    position: absolute;
    left: 28px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--extra-sub-9, #aaa);
    pointer-events: none;
    display: flex;
}
.dm-search input {
    width: 100%;
    background: var(--extra-sub-4, #f4f3f9);
    border: 1px solid var(--extra-sub-5, #ddd);
    border-radius: 6px;
    padding: 8px 10px 8px 32px;
    font-size: 13px;
    font-family: inherit;
    color: #343434;
    outline: none;
    transition: border .2s;
}
.dm-search input:focus {
    border-color: var(--primary-color);
}
.dm-search input::placeholder {
    color: var(--extra-sub-9, #aaa);
}

/* 2단 패널 */
.dm-panels {
    display: flex;
    height: 340px;
    border-top: 1px solid var(--extra-sub-5, #eee);
}
.dm-panels.hidden { display: none; }

/* 좌측 네비게이션 */
.dm-nav {
    width: 140px;
    min-width: 140px;
    border-right: 1px solid var(--extra-sub-5, #eee);
    overflow-y: auto;
    padding: 6px;
}
.dm-nav-item {
    padding: 9px 10px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    color: var(--extra-sub-9, #999);
    margin-bottom: 2px;
    transition: all .12s;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
}
.dm-nav-item:hover {
    background: var(--extra-sub-4, #f4f3f9);
    color: #343434;
}
.dm-nav-item.active {
    background: var(--extra-sub-4, #f4f3f9);
    color: var(--primary-color);
    font-weight: 600;
}
.dm-nav-name {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* C-7: 컬럼 수 뱃지 */
.dm-nav-badge {
    font-size: 10px;
    font-weight: 700;
    color: #fff;
    background: var(--primary-color);
    padding: 1px 6px;
    border-radius: 8px;
    min-width: 18px;
    text-align: center;
    flex-shrink: 0;
}

/* 우측 컬럼 영역 */
.dm-col-area {
    flex: 1;
    overflow-y: auto;
    padding: 12px 16px;
    scroll-behavior: smooth;
}

/* C-2: 데이터 전체 선택 바 */
.dm-select-all {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    margin-bottom: 12px;
    background: var(--extra-sub-4, #f4f3f9);
    border-radius: 6px;
    border: 1px solid var(--extra-sub-5, #ddd);
    cursor: pointer;
    transition: all .15s;
    user-select: none;
}
.dm-select-all:hover {
    border-color: var(--extra-sub-2, #bbb);
}
.dm-select-all.active {
    border-color: var(--primary-color);
    background: var(--extra-sub-4, #f4f3f9);
}
.dm-sa-check {
    width: 18px;
    height: 18px;
    border-radius: 4px;
    border: 2px solid var(--extra-sub-5, #ccc);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .15s;
    flex-shrink: 0;
}
.dm-select-all.active .dm-sa-check {
    background: var(--primary-color);
    border-color: var(--primary-color);
}
.dm-select-all.partial .dm-sa-check {
    border-color: var(--primary-color);
    background: var(--primary-color);
}
.dm-select-all.partial .dm-sa-check::after {
    content: '';
    width: 8px;
    height: 2px;
    background: #fff;
    border-radius: 1px;
}
.dm-sa-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--extra-sub-9, #888);
    flex: 1;
}
.dm-select-all.active .dm-sa-label,
.dm-select-all.partial .dm-sa-label {
    color: var(--primary-color);
}
.dm-sa-count {
    font-size: 11px;
    color: var(--extra-sub-9, #999);
    font-weight: 500;
}

/* 그룹 */
.dm-group {
    margin-bottom: 14px;
}
.dm-group-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
    padding: 0 2px;
}
.dm-group-title {
    font-size: 11px;
    font-weight: 700;
    color: var(--extra-sub-9, #999);
    text-transform: uppercase;
    letter-spacing: .5px;
    flex: 1;
}
/* C-2: 그룹별 전체 버튼 */
.dm-group-all {
    font-size: 10px;
    font-weight: 600;
    color: var(--extra-sub-9, #999);
    background: #fff;
    border: 1px solid var(--extra-sub-5, #ddd);
    border-radius: 12px;
    padding: 2px 10px;
    cursor: pointer;
    transition: all .15s;
    white-space: nowrap;
}
.dm-group-all:hover {
    border-color: var(--extra-sub-2, #bbb);
    color: #555;
}
.dm-group-all.active {
    border-color: var(--primary-color);
    color: var(--primary-color);
    background: var(--extra-sub-4, #f4f3f9);
}

/* 칩 그리드 */
.dm-chip-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
.dm-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 12px;
    border-radius: 16px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: all .15s;
    border: 1px solid var(--extra-sub-5, #ddd);
    color: #666;
    background: #fff;
    user-select: none;
}
.dm-chip:hover {
    border-color: var(--extra-sub-2, #bbb);
    color: #343434;
}
.dm-chip.on {
    border-color: var(--primary-color);
    color: #fff;
    background: var(--primary-color);
}
/* C-8: 파생 지표 칩 */
.dm-chip.dm-derived {
    border-style: dashed;
    border-color: var(--accent-color-3, #a39aff);
    color: var(--accent-color-3, #a39aff);
}
.dm-chip.dm-derived:hover {
    border-color: var(--accent-color-3, #a39aff);
    filter: brightness(0.9);
}
.dm-chip.dm-derived.on {
    border-style: solid;
    border-color: var(--accent-color-3, #a39aff);
    color: #fff;
    background: var(--accent-color-3, #a39aff);
}
/* C-8: 파생 펄스 애니메이션 */
@keyframes dm-pulse {
    0%, 100% { opacity: .65; }
    50% { opacity: 1; }
}
.dm-chip.dm-derived:not(.on) {
    animation: dm-pulse 2s ease-in-out 1;
}

/* 칩 체크 아이콘 */
.dm-ck {
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: rgba(255,255,255,.25);
    display: none;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.dm-chip.on .dm-ck {
    display: flex;
}
.dm-ck svg {
    width: 8px;
    height: 8px;
}

/* C-3: 하단 요약 바 */
.dm-footer {
    padding: 10px 16px;
    border-top: 1px solid var(--extra-sub-5, #eee);
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--extra-sub-4, #f4f3f9);
}
.dm-foot-count {
    font-size: 12px;
    color: #666;
    white-space: nowrap;
}
.dm-foot-count b {
    color: var(--primary-color);
    font-weight: 700;
}
.dm-foot-pills {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    flex: 1;
    max-height: 48px;
    overflow-y: auto;
    padding: 2px 0;
}
.dm-pill {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 3px 8px;
    border-radius: 10px;
    font-size: 10.5px;
    font-weight: 500;
    background: var(--extra-sub-4, #f4f3f9);
    border: 1px solid var(--primary-color);
    color: var(--primary-color);
    animation: dm-pop .2s ease;
    white-space: nowrap;
}
.dm-pill-derived {
    border-color: var(--accent-color-3, #a39aff);
    color: var(--accent-color-3, #a39aff);
}
.dm-pill-x {
    background: none;
    border: none;
    color: inherit;
    cursor: pointer;
    font-size: 12px;
    opacity: .5;
    padding: 0 0 0 2px;
    line-height: 1;
}
.dm-pill-x:hover {
    opacity: 1;
}
.dm-btn-ok {
    padding: 7px 20px;
    border-radius: 6px;
    background: var(--primary-color);
    color: #fff;
    border: none;
    font-size: 12.5px;
    font-weight: 700;
    cursor: pointer;
    transition: all .12s;
    font-family: inherit;
    flex-shrink: 0;
}
.dm-btn-ok:hover {
    filter: brightness(1.1);
}
@keyframes dm-pop {
    from { opacity: 0; transform: scale(.85); }
    to { opacity: 1; transform: scale(1); }
}

/* 데이터 없음 */
.dm-no-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 40px 20px;
    color: var(--extra-sub-9, #999);
    font-size: 13px;
    font-weight: 500;
}
.dm-no-content.hidden {
    display: none;
}

/*─── AI ───────────────────────────────────────────*/
@keyframes typing {
    0%,
    60%,
    100% {
        transform: translateY(0);
    }

    30% {
        transform: translateY(-10px);
    }
}

/* ========== Agentic AI Chat ========== */

.agentic-chat-overlay {
    pointer-events: none;
    position: absolute;
    display: block;
    inset: 0;
    z-index: 41;
    top: 70px;
    left: 410px;
    bottom: 15px;
    width: 420px;
}

.agentic-chat-overlay > * {
    pointer-events: auto;
}

/* Toggle Button */
.agentic-chat-toggle {
    position: absolute;
    bottom: 16px;
    left: 0;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: none;
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    color: white;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s, box-shadow 0.2s;
}

.agentic-chat-toggle:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 20px rgba(99, 102, 241, 0.5);
}

.agentic-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    background: #f59e0b;
    color: white;
    font-size: 9px;
    font-weight: 700;
    padding: 2px 5px;
    border-radius: 8px;
    line-height: 1;
}

/* 파생 지표 뱃지 */
.derived-badge {
    display: inline-block;
    background: var(--accent-color-3, #a39aff);
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    padding: 1px 6px;
    border-radius: 8px;
    margin-left: 4px;
    vertical-align: middle;
}
.derived-header { cursor: help; }

/* null 값 셀 */
.null-value {
    color: var(--extra-sub-2, #999);
    font-style: italic;
}

/* 컬럼 선택기 파생 지표 구분 */
.derived-column label { color: var(--accent-color-3, #a39aff); }
.derived-separator {
    padding: 4px 12px;
    font-size: 11px;
    font-weight: 600;
    color: var(--accent-color-3, #a39aff);
    border-top: 1px solid var(--extra-sub-3, #ddd);
    margin-top: 4px;
}

/* Chat Panel */
.agentic-chat-panel {
    position: absolute;
    width: 100%;
    height: 100%;
    background: white;
    border-radius: 16px;
    box-shadow: 0 0 3px 3px rgba(99, 102, 241, 0.12);
    display: flex;
    flex-direction: column;
    transform: translateX(0);
    transition: transform 0.3s ease, opacity 0.3s ease;
    opacity: 1;
}

.agentic-chat-panel.hide {
    display: none;
}

/* Header */
.agentic-chat-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 16px;
    border-bottom: 1px solid #e5e7eb;
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    border-radius: 16px 16px 0 0;
}

.agentic-chat-title {
    display: flex;
    align-items: center;
    gap: 8px;
    color: white;
}

.agentic-chat-title h3 {
    font-size: 15px;
    font-weight: 600;
    color: white;
}

.agentic-header-actions {
    display: flex;
    gap: 4px;
}

.agentic-header-actions button {
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.15);
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s;
}

.agentic-header-actions button:hover {
    background: rgba(255, 255, 255, 0.3);
}

/* Content */
.agentic-chat-content {
    flex: 1;
    overflow-y: auto;
    padding: 16px;
    display: flex;
    flex-direction: column;
}

/* Messages */
.agentic-messages-area {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.agentic-message {
    display: flex;
}

.agentic-message.user {
    justify-content: flex-end;
}

.agentic-message.user .agentic-message-bubble {
    background: #6366f1;
    color: white;
}

.agentic-message.user .agentic-message-time {
    color: rgba(255, 255, 255, 0.7);
}

.agentic-message.ai {
    justify-content: flex-start;
}

.agentic-message.ai .agentic-message-bubble {
    color: #111827;
    background: #f3f4f6;
}

.agentic-message-bubble {
    display: flex;
    gap: 6px;
    flex-direction: column;
    max-width: 90%;
    padding: 12px 16px;
    border-radius: 16px;
    position: relative;
}

/* ── 메시지 본문 ── */
.agentic-message-text {
    line-height: 1.7;
    font-size: 13px;
    font-weight: normal;
    white-space: normal;
    word-break: break-word;
}

/* ── 헤딩 ── */
.agentic-message-text .md-h1 {
    font-size: 15px;
    font-weight: 700;
    margin: 10px 0 6px;
    padding-bottom: 4px;
    border-bottom: 2px solid rgba(99, 102, 241, 0.25);
}

.agentic-message-text .md-h2 {
    font-size: 14px;
    font-weight: 700;
    margin: 8px 0 4px;
    color: #4338ca;
}

.agentic-message-text .md-h3 {
    font-size: 13px;
    font-weight: 600;
    margin: 6px 0 2px;
    color: #4f46e5;
}

/* ── 볼드 / 이탤릭 ── */
.agentic-message-text strong {
    font-weight: 600;
}

.agentic-message-text em {
    font-style: italic;
}

/* ── 목록 ── */
.agentic-message-text ul,
.agentic-message-text ol {
    margin: 6px 0;
    padding-left: 20px;
}

.agentic-message-text li {
    margin: 3px 0;
}

.agentic-message-text li::marker {
    color: #6366f1;
}

/* ── 구분선 ── */
.agentic-message-text hr {
    border: none;
    border-top: 1px solid rgba(0, 0, 0, 0.12);
    margin: 10px 0;
}

/* ── 인라인 코드 ── */
.agentic-message-text code {
    background: rgba(99, 102, 241, 0.08);
    color: #4338ca;
    padding: 1px 6px;
    border-radius: 4px;
    font-family: 'Consolas', 'Monaco', monospace;
    font-size: 12px;
}

/* ── 코드블록 ── */
.agentic-message-text pre {
    background: #1e1e2e;
    border-radius: 8px;
    padding: 12px 16px;
    overflow-x: auto;
    margin: 8px 0;
    line-height: 1.5;
}

.agentic-message-text pre code {
    background: none;
    color: #cdd6f4;
    padding: 0;
    border-radius: 0;
    font-size: 11.5px;
    white-space: pre;
}

/* ── 테이블 ── */
.agentic-message-text table {
    width: 100%;
    border-collapse: collapse;
    margin: 8px 0;
    font-size: 12px;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.08);
}

.agentic-message-text th,
.agentic-message-text td {
    padding: 6px 10px;
    text-align: left;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.agentic-message-text th {
    background: rgba(99, 102, 241, 0.08);
    font-weight: 600;
    color: #312e81;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.agentic-message-text tbody tr:nth-child(even) {
    background: rgba(0, 0, 0, 0.015);
}

.agentic-message-text tbody tr:hover {
    background: rgba(99, 102, 241, 0.04);
}

/* ── 인용구 ── */
.agentic-message-text blockquote {
    margin: 8px 0;
    padding: 6px 14px;
    border-left: 3px solid #6366f1;
    background: rgba(99, 102, 241, 0.04);
    border-radius: 0 6px 6px 0;
    color: rgba(0, 0, 0, 0.65);
}

/* ── User 메시지 테마 오버라이드 ── */
.agentic-message.user .agentic-message-text .md-h1 {
    border-bottom-color: rgba(255, 255, 255, 0.3);
}

.agentic-message.user .agentic-message-text .md-h2,
.agentic-message.user .agentic-message-text .md-h3 {
    color: rgba(255, 255, 255, 0.9);
}

.agentic-message.user .agentic-message-text li::marker {
    color: rgba(255, 255, 255, 0.7);
}

.agentic-message.user .agentic-message-text hr {
    border-top-color: rgba(255, 255, 255, 0.25);
}

.agentic-message.user .agentic-message-text code {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
}

.agentic-message.user .agentic-message-text th,
.agentic-message.user .agentic-message-text td {
    border-color: rgba(255, 255, 255, 0.15);
}

.agentic-message.user .agentic-message-text th {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

.agentic-message.user .agentic-message-text tbody tr:nth-child(even) {
    background: rgba(255, 255, 255, 0.05);
}

.agentic-message.user .agentic-message-text tbody tr:hover {
    background: rgba(255, 255, 255, 0.08);
}

.agentic-message.user .agentic-message-text blockquote {
    border-left-color: rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.8);
}

.agentic-message-time {
    opacity: 0.6;
    font-size: 11px;
    font-weight: 500;
}

/* Quick Replies */
.agentic-quick-replies {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 4px;
}

.agentic-quick-reply {
    background: white;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    color: #4f46e5;
    cursor: pointer;
    padding: 8px 12px;
    font-size: 13px;
    text-align: left;
    width: 100%;
    transition: background-color 0.2s, box-shadow 0.2s;
}

.agentic-quick-reply:hover {
    background: #eef2ff;
    border-color: #a5b4fc;
    box-shadow: 0 2px 4px rgba(99, 102, 241, 0.1);
}

.agentic-quick-reply:active {
    background: #e0e7ff;
}

/* Inline Input Form */
.agentic-inline-form {
    margin-top: 8px;
    padding: 10px 12px;
    background: #f8f9ff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
}

.agentic-inline-form-title {
    font-size: 12px;
    font-weight: 600;
    color: #4f46e5;
    margin-bottom: 8px;
}

.agentic-inline-form-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

.agentic-inline-form-row label {
    font-size: 12px;
    color: #374151;
    min-width: 52px;
    flex-shrink: 0;
}

.agentic-inline-input {
    flex: 1;
    padding: 5px 8px;
    font-size: 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    outline: none;
    background: white;
    min-width: 0;
}

.agentic-inline-input:focus {
    border-color: #818cf8;
    box-shadow: 0 0 0 2px rgba(129, 140, 248, 0.2);
}

select.agentic-inline-input {
    cursor: pointer;
}

.agentic-inline-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    margin-top: 8px;
}

.agentic-inline-btn {
    padding: 4px 14px;
    font-size: 12px;
    border-radius: 6px;
    border: 1px solid #d1d5db;
    cursor: pointer;
    transition: background-color 0.15s;
}

.agentic-inline-btn.cancel {
    background: white;
    color: #6b7280;
}

.agentic-inline-btn.cancel:hover {
    background: #f3f4f6;
}

.agentic-inline-btn.submit {
    background: #6366f1;
    color: white;
    border-color: #6366f1;
}

.agentic-inline-btn.submit:hover {
    background: #4f46e5;
}

/* Typing Indicator */
.agentic-typing-indicator {
    display: none;
    margin: 14px 0;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
}

.agentic-typing-indicator.show {
    display: flex;
}

.agentic-typing-text {
    font-size: 12px;
    color: #6b7280;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 200px;
}

.agentic-typing-indicator .typing-dots {
    background: #f3f4f6;
    border-radius: 16px;
    padding: 12px 16px;
    display: flex;
    gap: 4px;
}

.agentic-typing-indicator .typing-dots span {
    width: 8px;
    height: 8px;
    background: #8b5cf6;
    border-radius: 50%;
    animation: typing 1.4s infinite ease-in-out;
}

.agentic-typing-indicator .typing-dots span:nth-child(2) {
    animation-delay: 0.2s;
}

.agentic-typing-indicator .typing-dots span:nth-child(3) {
    animation-delay: 0.4s;
}

/* Input Area */
.agentic-chat-input-area {
    border-top: 1px solid #e5e7eb;
    padding: 14px 16px;
}

.agentic-chat-form {
    display: flex;
    gap: 8px;
}

.agentic-chat-form label {
    flex: 1;
}

.agentic-chat-input {
    width: 100%;
    height: 100%;
    padding: 8px 16px;
    border: 2px solid #e5e7eb;
    border-radius: 20px;
    outline: none;
    font-size: 13px;
    transition: border-color 0.2s;
}

.agentic-chat-input:focus {
    border-color: #6366f1;
}

.agentic-chat-input:disabled {
    background: #f9fafb;
    color: #9ca3af;
}

.agentic-send-btn {
    align-self: center;
    width: 40px;
    height: 40px;
    color: white;
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s;
    flex-shrink: 0;
}

.agentic-send-btn:hover {
    opacity: 0.85;
}

.agentic-send-btn[data-type="waiting"] {
    opacity: 0.6;
    cursor: not-allowed;
}

/*------------------------*
 |     자동완성 드롭다운   |
 *------------------------*/
.data-autocomplete {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    z-index: 100;
    max-height: 200px;
    overflow-y: auto;
    list-style: none;
    margin: 4px 0 0;
    padding: 4px 0;
}

.data-autocomplete.hide {
    display: none;
}

.data-autocomplete li {
    padding: 8px 12px;
    cursor: pointer;
    font-size: 13px;
    color: #333;
}

.data-autocomplete li:hover {
    background: var(--primary-color, #6366f1);
    color: #fff;
}

/* ========== //Agentic AI Chat ========== */
