h2.title2 {width:100%;height:60px;line-height:60px;padding:0 30px;font-size:1.25rem;color:#222;font-weight:300;border-bottom:1px solid #ddd;}
h2.title2 strong {font-weight:700;}
h3.title3 {width:100%;height:60px;line-height:60px;font-size:1.25rem;color:#222;font-weight:400;}
h3.title3 strong {font-weight:700;}

.contents_inner {width:100%;background:#fff;border:1px solid #ddd;}
.sub_contents {width:100%;padding:30px;}



/*공통 테이블 구조*/
.tb001 {width:100%;}
.tb001 thead th {height:40px;background:#e8e8e8;border-bottom:1px solid #ccc;border-right:1px solid #ccc;vertical-align:middle;color:#222;font-weight:500;}
.tb001 tbody tr:nth-child(2n) td {background:#fafafa;}
.tb001 tbody tr:hover td {background:#eff3fe;}
.tb001 tbody td {height:40px;color:#444;font-weight:400;border-bottom:1px solid #ccc;border-right:1px solid #ccc;vertical-align:middle;text-align:center;}
.tb001 tbody td.left {text-align:left;padding:0 10px;}
.tb001 tbody td span {display:inline-block;width:15px;height:15px;box-shadow:inset 0 2px 0 rgba(255,255,255,0.2),inset 0 -2px 0 rgba(0,0,0,0.2);border-radius:50%;}
.tb001 tbody td span.good {background:#527fef;}
.tb001 tbody td span.commonly {background:#8cb60c;}
.tb001 tbody td span.bad {background:#f99800;}
.tb001 tbody td span.verybad {background:#e8493e;}
/*통신여부*/
.tb001 tbody td span.communication {background:#b1b1b1;}
.tb001 tbody td span.communication.active {background:#8cb60c;}

/*평균값 조회*/
.tb001 tbody td.min_num {color:#527fef}
.tb001 tbody td.average_num {color:#8cb60c;}
.tb001 tbody td.max_num {color:#f99800;}
/*어드민조회 사용여부*/
.tb001 tbody td.use {color:#8cb60c;}

.tb001 {border:1px solid #ccc;}

/*소모품 관리 목록*/
.tb_expendables {width:100%;}
.tb_expendables thead th {height:40px;background:#e8e8e8;border-bottom:1px solid #ccc;border-right:1px solid #ccc;vertical-align:middle;color:#222;font-weight:500;}
.tb_expendables tbody td {height:40px;color:#444;font-weight:400;border-bottom:1px solid #ccc;border-right:1px solid #ccc;vertical-align:middle;text-align:center;}
.tb_expendables tbody td.model {line-height:40px;}
.tb_expendables tbody td.red {color:#e8493e;}
.tb_expendables tbody:nth-child(2n) td {background:#fafafa;}
.tb_expendables tbody:hover td {background:#eff3fe;}
.tb_expendables tbody td a.info img {vertical-align:middle;margin-right:3px;}
.tb_expendables {border:1px solid #ccc;}
.tb_expendables tbody td .info_box {z-index:5;position:absolute;text-align:left;top:50%;left:10%;width:330px;color:#222;line-height:24px;padding:24px;background:#fff;border:1px solid #ddd;border-radius:2px;box-shadow:0 0 10px 3px rgba(0,0,0,0.2);}


/*팝업 테이블*/
.tb_pop {width:100%;}
.tb_pop th {color:#2f323a;height:60px;font-weight:500;text-align:left;}
.tb_pop td {height:60px;}
.tb_pop td span  {color:#666;}
.tb_pop td select ,.tb_pop td input[type="text"] ,.tb_pop td input[type="password"] {margin-right:10px;}

.tb_pop02 {width:100%;}
.tb_pop02 th {color:#2f323a;height:40px;font-weight:500;text-align:left;}
.tb_pop02 td strong {margin:0 30px 0 10px;}
.tb_pop02 td strong.mr0 {margin-right:0;}
.tb_pop02 td span.small_text {font-size:0.875rem;color:#666;}

/*로그인*/
.login_conts {position:absolute;top:50%;left:50%;margin-left:-50px;margin-top:-80px;width:95%;max-width:400px;}
.login_conts li {padding:5px 0;text-align:center;}
.login_conts li input {width:100%;height:40px;}
.login_conts li.check_area label {margin-right:10px;}
.login_conts li.check_area {font-weight:500;color:#2f323a;padding:25px 0;}
.login_conts li button {display:inline-block;width:100%;height:40px;border-radius:5px;text-align:center;background:#068d0f;color:#fff;}

/*농가가정보등록*/
.school_search {margin-bottom:40px;}
.school_search select {margin-right:5px;}
.school_list h2.title2 {position:relative;}
.school_list h2.title2 .school_sort {position:absolute;top:50%;right:30px;margin-top:-20px;}

.school_data_wrap {border:2px solid #222;padding:30px;}
.school_data {width:70%;margin:0 auto;}
.school_data input {color:#aaa;}

.school_bottom {position:relative;}
.school_bottom ul li {color:#444;line-height:28px;padding-left:10px;background:url("../images/dot_bullet.png") no-repeat 0 50%;}
.school_bottom .regist_btn {position:absolute;width:150px;top:50%;right:0;margin-top:-20px;text-align:right;}

/*전체생육환경현황*/
.monitering_graph_wrap {display:flex;width:100%;flex-wrap:wrap;justify-content:space-between;}
.monitering_graph_wrap .graph_conts {background:#fff;border:1px solid #ddd;margin-bottom:30px;}
.monitering_graph_wrap .graph_conts .title2 {position:relative;}
.monitering_graph_wrap .graph_conts .title2 .updatetime {position:absolute;text-align:right;top:0;right:30px;width:300px;line-height:60px;font-size:1rem;color:#777;}
.monitering_graph_wrap .graph_conts:nth-child(n) {width:75%;}
.monitering_graph_wrap .graph_conts:nth-child(2n) {width:23%;}
.monitering_graph_wrap .graph_conts .graph {width:95%;margin:0 auto;padding:20px 0 10px 0;height:450px;}

.graph_donut {width:90%;position:relative;margin:0 auto;}
.graph_donut .dchart {height:450px;padding:30px 0 10px 0;}
.graph_donut .bchart {height:250px;padding:20px 0;}
.graph_donut .total {position:absolute;width:110px;height:60px;top:50%;left:50%;margin-left:-55px;}
.graph_donut .total .num {text-align:center;font-size:1.75rem;font-weight:700;line-height:2.5rem;}
.graph_donut .total .total_label {text-align:center;font-size:1.125rem;color:#999;}

.ggraph_donut {position:relative;width:95%;margin:0 auto;}
.ggraph_donut .total {position:absolute;width:110px;height:60px;top:50%;left:50%;margin-left:-55px;margin-top:-30px;}
.ggraph_donut .total .num {text-align:center;font-size:1.75rem;font-weight:700;line-height:2.5rem;}
.ggraph_donut .total .total_label {text-align:center;font-size:1.125rem;color:#999;}



/*농가별 생육 환경 현황*/
.room_top_button {display:flex;justify-content:space-between;width:100%;flex-wrap:wrap;margin-bottom:20px;}
.room_top_button .classroom_btn_wrap {flex-basis:1030px;}
.room_top_button .classroom_btn_wrap ul {display:flex;justify-content:space-between;flex-wrap:wrap;}
.room_top_button .classroom_btn_wrap ul li {flex-basis:auto;}
.room_top_button .classroom_btn_wrap ul li a {display:inline-block;width:120px;line-height:40px;text-align:center;font-size:1rem;color:#2f323a;font-weight:500;background:#fff;border:1px solid #2f323a;border-radius:5px;}
.room_top_button .classroom_btn_wrap ul li a.active,
.room_top_button .classroom_btn_wrap ul li a:hover
{background:#2f323a;color:#fff;}
.room_top_button .mode_wrap {flex-basis:auto;font-size:0;text-align:right;}
.room_top_button .mode_wrap a {display:inline-block;width:120px;line-height:40px;text-align:center;font-size:1rem;font-weight:500;background:#fff;border:1px solid #2f323a;border-radius:5px 0 0 5px;}
.room_top_button .mode_wrap a:last-child {border-left:0;border-radius:0 5px 5px 0;}
.room_top_button .mode_wrap a.active,
.room_top_button .mode_wrap a:hover
{background:#2f323a;color:#fff;}

.contents_inner.adm_margin {margin-bottom:150px;}
.contents_inner h2.title2 {position:relative;height:auto;line-height:60px;}
.contents_inner h2.title2 .all_check_wrap {vertical-align:top;display:inline-block;width:55px;height:60px;line-height:60px;font-size:0.75rem;color:#777;}
.contents_inner h2.title2 .order_button {position:absolute;top:50%;margin-top:-18px;right:30px;}

.room_wrap {display:flex;width:100%;flex-wrap:wrap;}
.room_wrap .room_data {width:11.625%;border:2px solid #d1d1d1;border-radius:10px;margin-right:1%;margin-bottom:20px;cursor:pointer;}
.room_wrap .room_data:nth-child(8n) {margin-right:0;}
.room_wrap .room_data h3 {position:relative;font-weight:500;color:#222;font-size:1.25rem;padding:20px 0;text-align:center;}
.room_wrap .room_data h3 .check_wrap {position:absolute;top:5px;left:5px;width:22px;height:22px;color:#222;z-index:20;}

.room_wrap .room_data dl {padding:15px;display:flex;flex-wrap:wrap;}
.room_wrap .room_data dl dt {width:50%;font-size:1rem;color:#222;text-align:center;padding:5px 3px;line-height:26px;}
.room_wrap .room_data dl dd {width:50%;padding:5px 3px;line-height:26px;}
.room_wrap .room_data dl dd span {display:inline-block;width:100%;line-height:26px;text-align:center;font-weight:400;color:#fff;}
.room_wrap .room_data dl dd span.verybad {background:#e8493e;}
.room_wrap .room_data dl dd span.bad {background:#f99800;}
.room_wrap .room_data dl dd span.commonly {background:#8cb60c;}
.room_wrap .room_data dl dd span.good {background:#527fef;}
.room_wrap .room_data .room_state {padding:0 18px 15px 18px;font-size:0;}
.room_wrap .room_data .room_state span {display:inline-block;border-radius:5px;text-align:center;width:47%;margin-left:3%;padding:10px 0;background:#eee;font-weight:500;color:#222;font-size:1rem;}
.room_wrap .room_data .room_state span:first-child {margin-left:0;width:50%;}


.room_wrap .room_data.off {border:2px solid #f0f0f0;}
.room_wrap .room_data.off dl {opacity:0.1}
.room_wrap .room_data.off .room_state {opacity:0.1}


.room_wrap .room_data.check {border-color:#638cf1;}


.room_bottom_btn {z-index:30;position:fixed;bottom:0;left:300px;display:flex;flex-wrap:wrap;justify-content:space-between;width:calc(100% - 300px);background:#fff;border-top:1px solid #ddd;padding:35px 30px;}
.room_bottom_btn .power_btn {flex-basis:auto;}
.room_bottom_btn .option_btn {flex-basis:auto;}
.room_bottom_btn .wind_btn {flex-basis:auto;}

.room_bottom_btn a {display:inline-block;width:120px;line-height:40px;text-align:center;background:#eff3fe;border:1px solid #2f323a;font-size:1rem;font-weight:500;color:#2f323a;margin-right:5px;border-radius:5px;}

/*농가별 생육 환경 현황-- */
.room_realtime_info {
    width: 100%;     display: flex;    flex-wrap: wrap;    justify-content: center;    gap: 15px;    margin-bottom: 4dvh;
}

.room_realtime_info .realtime_info {
    
    width: calc((100% - (4 * 15px)) / 5);     height: 65px;    line-height: 65px;    text-align: center;    background: #527fef;    font-size: 1.25rem;
    color: #fff;    font-weight: 500;    box-sizing: border-box;    padding: 0 10px;    margin-right: 0;
}

/* Optional: For very small screens, you might want items to stack or be wider */
@media (max-width: 768px) {
    .room_realtime_info .realtime_info {
        width: calc((100% - 15px) / 2); /* 2 items per row with 1 gap */
    }
}

@media (max-width: 480px) {
    .room_realtime_info .realtime_info {
        width: 100%; /* 1 item per row, full width */
    }
}


.room_top_info {display:flex;justify-content:space-between;width:100%;flex-wrap:wrap;margin-bottom:40px;}
.room_top_info .update {flex-basis:auto;color:#777;line-height:40px;}
.room_top_info .mode_tab {flex-basis:auto;font-size:0;text-align:right;}
.room_top_info .mode_tab a {display:inline-block;width:120px;line-height:40px;text-align:center;font-size:1rem;font-weight:500;background:#fff;border:1px solid #2f323a;border-radius:5px 0 0 5px;}
.room_top_info .mode_tab a:last-child {border-left:0;border-radius:0 5px 5px 0;}
.room_top_info .mode_tab a.active,
.room_top_info .mode_tab a:hover
{background:#2f323a;color:#fff;}
.tab_wrap {width:100%;}
.tab_wrap > div {display:none;width:100%;}

.room_data {width:100%;}
.room_data .tb001 {width:100%;}

/*생육 환경 데이터*/
.data_search {position:relative;width:100%;margin-bottom:40px;}
.data_search select {margin:0 5px;}
.data_search .down_btn_area {position:absolute;top:0;right:0;width:125px;height:40px;}



/*생육 환경 데이터 > 그래프조회*/
.air_graph_box {width:100%;margin-bottom:40px;}
.air_graph_box h2.title2 {position:relative;}
.air_graph_box h2.title2 .standard {position:absolute;right:30px;top:50%;margin-top:-8px;font-size:1rem;line-height:1rem;width:160px;color:#666;text-align:right;}

.line_graph {width:100%;height:330px;}

.grade {display:flex;justify-content:space-between;flex-wrap:wrap;margin-top:30px;}
.grade dl {width:24%;}
.grade dl dt {text-align:center;line-height:40px;font-size:1rem;color:#fff;}
.grade dl dd {text-align:center;font-size:1rem;color:#222;line-height:40px;}

.grade dl.good {border:1px solid #527fef;}
.grade dl.good dt {background:#527fef;}
.grade dl.commonly {border:1px solid #8cb60c;}
.grade dl.commonly dt {background:#8cb60c;}
.grade dl.bad {border:1px solid #f99800;}
.grade dl.bad dt {background:#f99800;}
.grade dl.verybad {border:1px solid #e8493e;}
.grade dl.verybad dt {background:#e8493e;}

/*생육 환경 데이터 > 수치 데이터 조회*/
.air_num_box {margin-bottom:40px;}
.air_num_box h2.title2 {position:relative;}
.air_num_box h2.title2 .order_button {position:absolute;top:50%;margin-top:-18px;right:30px;line-height:16px;}



/*제품유지보수-소모품관리 리스트*/
.expendables_tab {display:flex;width:100%;margin-bottom:40px;}
.expendables_tab a {display:block;font-size:1.25rem;color:#fff;background:#ccc;;width:50%;height:50px;line-height:50px;border:1px solid #ccc;border-bottom:0;text-align:center;}
.expendables_tab a:last-child {border-left:0;}
.expendables_tab a.active,.expendables_tab a:hover {background:#f8f8f8;color:#999;}

.expendables_top_button {position:relative;width:100%;text-align:left;margin-bottom:40px;}
.expendables_top_button select {margin-right:5px;}

.expendables_top_button .download_wrap {position:absolute;top:0;right:0;width:125px;height:40px;}

.reset_wrap {position:fixed;width:calc(100% - 300px);left:300px;bottom:0;display:flex;align-items:center;padding:30px;background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd;}
.reset_wrap ul {width:40%;}
.reset_wrap ul li {padding-left:10px;font-size:1rem;line-height:28px;color:#444;background:url("../images/dot_bullet.png") no-repeat 0 50%;}
.reset_wrap .all_reset {width:60%;text-align:right;}
.reset_wrap .all_reset select {margin-right:5px;}

/*제품유지보수 -설치관리*/
.install_top_button {position:relative;width:100%;text-align:left;margin-bottom:40px;}
.install_top_button select {margin-right:5px;}
.install_top_button .download_wrap {position:absolute;top:0;right:0;width:125px;height:40px;}

.install_list h2.title2 {position:relative;}
.install_regist {position:absolute;top:0;right:30px;width:400px;height:auto;text-align:right;}

/*어드민리스트*/

.admin_list_wrap h2.title2 {position:relative;}
.admin_regist {position:absolute;top:0;right:30px;width:290px;height:auto;text-align:right;}
.use_modify {position:fixed;bottom:0;width:calc(100% - 300px);left:300px;text-align:right;padding:30px;background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd;}


/*dim_암막*/
.dim {display:none;z-index:800;position:fixed;width:100%;top:0;bottom:0;left:0;right:0;background:rgba(0,0,0,0.6);}

/*레이어 팝업*/
.pop  {display:none;border:2px solid #527fef;}
.pop h3 {position:relative;width:100%;height:60px;background:#527fef;font-size:1.25rem;color:#fff;line-height:60px;padding:0 30px;}
.pop .pop_close {position:absolute;display:inline-block;line-height:20px;width:20px;height:20px;top:50%;right:30px;margin-top:-10px;}
.pop .pop_close img {vertical-align:middle;}
.pop .btn_wrap {text-align:center;}

/*설치관리*/
.group_popup {z-index:900;position:fixed;background:#fff;width:970px;height:700px;top:118px;left:50%;margin-left:-485px;}
.group_popup_conts {width:855px;margin:50px auto;}
.group_popup_conts .pop_tit {position:relative;font-size:1.25rem;color:#222;margin-bottom:30px;}
.group_popup_conts .pop_tit strong {font-weight:700;}
.group_popup_conts .group_new_btn {position:absolute;top:50%;right:0;width:120px;margin-top:-15px;text-align:right;}

.create_group {z-index:990;position:fixed;background:#fff;width:485px;height:360px;top:287px;left:50%;margin-left:-242px;}
.create_group_conts {width:380px;margin:50px auto;}

.product_regist_pop {z-index:900;position:fixed;background:#fff;width:485px;height:480px;top:227px;left:50%;margin-left:-242px;}
.product_regist_pop_conts {width:375px;margin:50px auto;}

/*제품 엑셀등록*/
.product_exel_popup {z-index:900;position:fixed;background:#fff;width:470px;height:360px;top:287px;left:50%;margin-left:-235px;}
.product_exel_popup .product_exel_conts {width:380px;margin:50px auto;}

/*내역보기 수정팝업*/
.history_modify_pop {z-index:900;position:absolute;background:#fff;width:485px;height:480px;top:147px;left:50%;margin-left:-392px;}
.history_modify {width:400px;margin:50px auto;}


/*관리자 엑셀등록*/
.admin_exel_popup {z-index:900;position:fixed;background:#fff;width:470px;height:360px;top:287px;left:50%;margin-left:-235px;}
.admin_exel_popup .admin_exel_conts {width:380px;margin:50px auto;}


