/* =========================
   전력기상안전지수
   - 서리 예측 정보 화면 스타일 기반
========================= */

/* 조회 조건 */
.esi_search_wrap {
    padding: 15px;
    margin-bottom: 15px;
    background: #eef2fa;
    border: 1px solid #ddd;
    box-sizing: border-box;
}

.esi_search_wrap label {
    margin-right: 5px;
    font-weight: bold;
}

.esi_search_wrap select {
    height: 34px;
    margin-right: 10px;
}

.esi_search_wrap button {
    height: 34px;
    padding: 0 15px;
    color: #fff;
    background: #3a4d76;
    border: 0;
    cursor: pointer;
}

/* 전체 콘텐츠 */
.esi_content_wrap {
    display: block;
    width: 100%;
}

.esi_body_wrap {
    display: flex;
    justify-content: space-between;
    width: 100%;
    clear: both;
}

.esi_left_area {
    width: 790px;
}

.esi_detail_area {
    width: 300px;
}

.esi_detail_area table td{
    height:58px;
    text-align:center;
    font-size: 16px !important;
}

.esi_detail_area table th{
    text-align:center;
}

/* 상단 요약 박스: convergence.css의 frost_prod_box 기반 보정 */
.esi_prod_summary {
    width: 100%;
    margin-bottom: 10px !important;
    padding: 0 !important;
    box-sizing: border-box;
}

.esi_prod_summary .frost_prod_tit {
    left: 0;
}

.esi_prod_summary .frost_prod_data{
    width:160px !important;
}

.esi_prod_summary .frost_prod_data span{
    font-size:40px;
}

.esi_prod_summary .frost_prod_data em{
    font-size:24px;
}

/* 지도 영역 */
#esi_map_wrap {
    position: relative;
    width: 100%;
}

#elecSafetyMap {
    width: 100%;
    height: 591px;
    border: 1px solid #ddd;
    background-color: #86acd4; /* 바다색 */
    box-sizing: border-box;
}

/* 대표 시간 버튼 - 지도 내부 상단 */
.esi_time_btn_box {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 10;
}

.esi_time_btn {
    display: inline-block;
    min-width: 58px;
    height: 36px;
    margin-right: 5px;
    padding: 0 10px;
    border: 0;
    border-radius: 4px;
    color: #fff;
    background-color: rgba(0, 0, 0, 0.5);
    font-size: 13px;
    font-weight: bold;
    cursor: pointer;
}

.esi_time_btn.active {
    background-color: rgba(0, 154, 225, 0.7);
}

.esi_time_btn_long {
    min-width: 96px;
}

/* 필터 버튼 */
#esi_filter_btn {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 10;
    height: 36px;
    padding: 0 12px;
    color: #fff;
    background-color: rgba(0, 0, 0, 0.5);
    border: 0;
    border-radius: 4px;
    font-size: 13px;
    font-weight: bold;
    cursor: pointer;
}




/* OpenLayers 컨트롤 위치 보정 */
.ol-zoom {
    top: unset;
    left: unset;
    bottom: .5em;
    right: .5em;
}

#elecSafetyMap .ol-zoom{
    position:absolute !important;

    top:auto !important;
    left:auto !important;

    right:.5em !important;
    bottom:.5em !important;
}

/* 전력기상안전지수 범례: safety_idx 0~1 세로형 */
#esi_legend{
    position:absolute;
    top:50%;
    left:10px;
    transform:translateY(-50%);
    z-index:10;
    margin:0;
    padding:0;
    list-style:none;
}

#esi_legend li{
    position:relative;
    width:10px;
    height:10px;
    border-top:1px solid rgba(255,255,255,0.1);
    box-sizing:border-box;
}

#esi_legend li span{
    position:absolute;
    left:25px;
    padding:2px 5px;
    border-radius:4px;
    background:rgba(0,0,0,0.5);
    color:#fff;
    font-size:10px;
    font-weight:bold;
    white-space:nowrap;
}

/* 100 ~ 80 : 빨강 */
#esi_legend li:first-child  { background-color:#BF000080; }
#esi_legend li:nth-child(2) { background-color:#C8000080; }
#esi_legend li:nth-child(3) { background-color:#D5000080; }
#esi_legend li:nth-child(4) { background-color:#E3000080; }
#esi_legend li:nth-child(5) { background-color:#EE0B0B80; }
#esi_legend li:nth-child(6) { background-color:#F3212180; }
#esi_legend li:nth-child(7) { background-color:#F63E3E80; }
#esi_legend li:nth-child(8) { background-color:#F8606080; }
#esi_legend li:nth-child(9) { background-color:#FA858580; }
#esi_legend li:nth-child(10){ background-color:#FCABAB80; }

/* 80 ~ 60 : 노랑 */
#esi_legend li:nth-child(11){ background-color:#CCAA0080; }
#esi_legend li:nth-child(12){ background-color:#D4B00080; }
#esi_legend li:nth-child(13){ background-color:#E0B90080; }
#esi_legend li:nth-child(14){ background-color:#EDC30080; }
#esi_legend li:nth-child(15){ background-color:#F9CD0080; }
#esi_legend li:nth-child(16){ background-color:#FFD60480; }
#esi_legend li:nth-child(17){ background-color:#FFDC1F80; }
#esi_legend li:nth-child(18){ background-color:#FFEE4680; }
#esi_legend li:nth-child(19){ background-color:#FFEA6E80; }
#esi_legend li:nth-child(20){ background-color:#FFF09A80; }

/* 60 ~ 40 : 초록 */
#esi_legend li:nth-child(21){ background-color:#00800080; }
#esi_legend li:nth-child(22){ background-color:#008E0080; }
#esi_legend li:nth-child(23){ background-color:#00A40080; }
#esi_legend li:nth-child(24){ background-color:#00BD0080; }
#esi_legend li:nth-child(25){ background-color:#00D50080; }
#esi_legend li:nth-child(26){ background-color:#08E90880; }
#esi_legend li:nth-child(27){ background-color:#1EF31E80; }
#esi_legend li:nth-child(28){ background-color:#42FF4280; }
#esi_legend li:nth-child(29){ background-color:#69FC6980; }
#esi_legend li:nth-child(30){ background-color:#96FE9680; }

/* 40 ~ 20 : 파랑 */
#esi_legend li:nth-child(31){ background-color:#0077B380; }
#esi_legend li:nth-child(32){ background-color:#0080C480; }
#esi_legend li:nth-child(33){ background-color:#008DDE80; }
#esi_legend li:nth-child(34){ background-color:#009DF680; }
#esi_legend li:nth-child(35){ background-color:#07ABFF80; }
#esi_legend li:nth-child(36){ background-color:#1FB5FF80; }
#esi_legend li:nth-child(37){ background-color:#3EC1FF80; }
#esi_legend li:nth-child(38){ background-color:#61CDFF80; }
#esi_legend li:nth-child(39){ background-color:#87D9FF80; }
#esi_legend li:nth-child(40){ background-color:#ACE5FF80; }

/* 20 ~ 0 : 보라 */
#esi_legend li:nth-child(41){ background-color:#7F00BF80; }
#esi_legend li:nth-child(42){ background-color:#8700CE80; }
#esi_legend li:nth-child(43){ background-color:#9200E480; }
#esi_legend li:nth-child(44){ background-color:#A000F780; }
#esi_legend li:nth-child(45){ background-color:#AD07FF80; }
#esi_legend li:nth-child(46){ background-color:#C23EFF80; }
#esi_legend li:nth-child(47){ background-color:#C23EFF80; }
#esi_legend li:nth-child(48){ background-color:#CD61FF80; }
#esi_legend li:nth-child(49){ background-color:#DA87FF80; }
#esi_legend li:nth-child(50){ background-color:#E5ACFF80; }

/* 0 */
#esi_legend li:nth-child(51){ background-color:#D9D9D980; }

#esi_legend li:first-child span,
#esi_legend li:nth-child(11) span,
#esi_legend li:nth-child(21) span,
#esi_legend li:nth-child(31) span,
#esi_legend li:nth-child(41) span {
    top:-11px;
}

#esi_legend li:last-child span {
    bottom:-11px;
}

.ui-datepicker {
    z-index: 9999 !important;
}

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
    width: 24px;
    height: 24px;
    cursor: pointer;
}

.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
    display: none;
}

.ui-datepicker .ui-datepicker-prev:before {
    content: "◀";
}

.ui-datepicker .ui-datepicker-next:before {
    content: "▶";
}
/* 상단 시간 선택 + 정전발생확률 영역 */
.esi_top_panel {
    display: flex;
    align-items: center;
    width: 100%;
    height: 86px;
    margin-bottom: 10px;
    padding: 0 18px;
    background: #eaedf2;
    border: 1px solid #ddd;
    border-top: 1px solid #000;
    box-sizing: border-box;
}

.esi_forecast_time_area {
    display: flex;
    align-items: center;
    flex: 1;
    gap: 8px;
    min-width: 0;
}

.esi_time_group {
    display: flex;
    align-items: center;
    gap: 10px;
    box-sizing: border-box;
}

.esi_vsrt_group,
.esi_shrt_group {
    width: auto;
    background: none;
    border: 0;
}

.esi_time_group_title {
    margin: 0;
    min-width: 75px;
    text-align: right;
    font-size: 14px;
    font-weight: bold;
    color: #333;
    white-space: nowrap;
}

.esi_vsrt_time_btn_box,
.esi_shrt_time_btn_box {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border-radius: 4px;
    box-sizing: border-box;
}

.esi_vsrt_time_btn_box {
    background: #c7ddff;
    border: 1px solid #8db5ff;
}

.esi_shrt_time_btn_box {
    background: #ffd9bb;
    border: 1px solid #f2b47a;
}

.esi_prob_area {
    width: 280px;
    min-width: 280px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.esi_prob_title {
    font-size: 15px;
    font-weight: bold;
    color: #333;
    white-space: nowrap;
}

.esi_prob_data {
    width: 140px;
    height: 56px;
    background: #fff;
    border: 1px solid #d8d8d8;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 2px;
    box-sizing: border-box;
}

.esi_prob_data span {
    font-size: 40px;
    font-weight: bold;
    color: #555;
    line-height: 1;
}

.esi_prob_data em {
    margin-left: 4px;
    color: #0075ff;
    font-size: 24px;
    font-weight: bold;
    font-style: normal;
}

.esi_time_btn {
    min-width: 70px;
    height: 32px;
    border: 0;
    border-radius: 4px;
    background: #777;
    color: #fff;
    font-size: 13px;
    font-weight: bold;
    cursor: pointer;
}

.esi_time_btn.active {
    background: #4fc3f7;
}

.esi_loading {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background: rgba(255,255,255,0.45);
}

.esi_loading_box {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    padding: 15px 25px;
    background: #333;
    color: #fff;
    border-radius: 4px;
    font-size: 14px;
}