@charset "utf-8";

.p_login {width: 690px; margin: 98px auto 0;}
.p_login h1 {color: #222; font-size: 48px; font-weight: 500; text-align: center;}
.p_login .txt {margin-top: 32px; color: #666; font-size: 20px; text-align: center; line-height: 30px;}
.loginbox {margin-top: 55px; padding: 59px 0; border: 1px solid #dde2e5; border-radius: 25px; box-shadow: 3px 8px 13px #ccc;}
.loginbox legend {position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0;}
.loginbox dl + dl {margin-top: 18px;}
.loginbox dl > * {float: left;}
.loginbox dl::after {content: ""; display: block; clear: both;}
.loginbox dt {width: 177px; height: 46px; padding-right: 19px; color: #222; font-size: 16px; font-weight: 300; line-height: 46px; text-align: right;}
.loginbox dd {position: relative;}
.loginbox dd input[type=text],
.loginbox dd input[type=password] {width: 336px; height: 46px; padding: 0 10px; border: 0; border-radius: 8px; color: #666; font-size: 16px; background: #f5f5f5;}
.loginbox dd .f_chk {position: absolute; top: 0; left: 350px; height: 46px; line-height: 46px; cursor: pointer; white-space: nowrap; display: flex; align-items: center;}
.loginbox dd .f_chk::before {vertical-align: middle; margin-right: 8px;}
.loginbox dd .f_chk span {display: inline-block; line-height: 1; vertical-align: middle;}
.loginbox .btn_a {clear: both; padding: 30px 0 0 0; text-align: center;}
.loginbox .btn_a::after {content: ""; display: block; clear: both;}
.loginbox .btn_a .btn {width: 160px; height: 50px; margin: 0 auto; border-radius: 8px; color: #fff; font-size: 18px; font-weight: 600; text-align: center; line-height: 50px; background: #1E3E7E; text-decoration: none; border: none; cursor: pointer; transition: all 0.3s; display: block;}
.loginbox .btn_a .btn:hover,.loginbox .btn_a .btn:focus {background:#16305F; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(30,62,126,0.32); outline:none;}
.login_info {clear: both; margin-top: 30px; padding: 30px 50px 0 50px; border-top: 1px solid #e0e0e0; text-align: left;}
.login_info p {color: #777; font-size: 13px; line-height: 1.8; margin-bottom: 8px; padding-left: 15px; position: relative;}
.login_info p:before {content: "•"; position: absolute; left: 0; color: #1E3E7E; font-weight: bold;}
.login_info p:last-child {margin-bottom: 0;}

.p_main .visual {width: 1400px; margin: 0 auto; padding: 0 50px;}
.p_main .visual .banner_inner {height: 320px; padding: 85px 0 0 70px; border-radius: 40px; background: linear-gradient(135deg, #1e88e5 0%, #64b5f6 100%); box-shadow: 3px 8px 13px #ccc;}
.p_main .visual .banner_inner span {display: block; color: #fff; font-weight: 700;}
.p_main .visual .banner_inner .t1 {font-size: 24px;}
.p_main .visual .banner_inner .t2 {font-size: 48px;}
.p_main .visual .banner_inner .t3 {margin-top: 15px; color: #9cdafe; font-weight: 400;}

.p_main .dash_board .inner {width: 1400px; margin: 70px auto 0; padding: 0 50px 65px 50px;}
.p_main .dash_board .tab {font-size: 0; text-align: center;}
.p_main .dash_board .tab li {display: inline-block;}
.p_main .dash_board .tab li + li {margin-left: 52px;}
.p_main .dash_board .tab li a {display: block; position: relative; padding-bottom: 24px; color: #ccc; font-size: 30px; font-weight: 700;}
.p_main .dash_board .tab li a.cur {color: #222;}
.p_main .dash_board .tab li a.cur::after {content: ""; display: block; position: absolute; left: 0; bottom: 0; width: 100%; height: 4px; background: #004986;}
.p_main .dash_board .tab_contents {position: relative; margin-top: 50px;}
.p_main .dash_board .more {display: block; position: absolute; right: 0; top: -60px; width: 60px; height: 60px; font-size: 0; background: url(../images/ico_more.png) no-repeat;}
.p_main .dash_board .tab_item {display: none;}
.p_main .dash_board .tab_item:first-child {display: block;}
.p_main .dash_board .tab_item ul {padding: 0 20px;}
.p_main .dash_board .tab_item ul::after {content: ""; display: block; clear: both;}
.p_main .dash_board .tab_item ul li {float: left; width: 33.33%; padding: 0 20px;}
.p_main .dash_board .tab_item ul li:last-child {width: 33.34%;}
.p_main .dash_board .tab_item ul li a span {display: block;}
.p_main .dash_board .tab_item ul li .tit {color: #222; font-size: 24px; font-weight: 500; line-height: 28px;}
.p_main .dash_board .tab_item ul li .desc {margin-top: 35px; color: #666; font-size: 20px; line-height: 30px;}
.p_main .dash_board .tab_item ul li .dates {margin-top: 38px; color: #aaa; font-size: 16px;}

.p_main .banner_section {width: 1400px; margin: 60px auto 0; padding: 0 50px;}
.p_main .banner_section .banner_wrap {padding: 50px; border-radius: 27px; background: #fff; box-shadow: 3px 8px 13px #ccc;}
.p_main .banner_section .banner_wrap h2 {color: #222; font-size: 28px; font-weight: 700; margin-bottom: 40px;}
.p_main .banner_section .banner_grid {display: flex; justify-content: space-between; gap: 30px; align-items: flex-start;}
.p_main .banner_section .banner_item {position: relative; flex: 1; text-align: center; padding-top: 140px; min-height: 200px;}
.p_main .banner_section .banner_item a {position: relative; display: block; text-decoration: none; transition: all 0.3s; z-index: 2;}
.p_main .banner_section .banner_item a .text {display: block; color: #333; font-size: 18px; font-weight: 500; line-height: 26px; text-align: center; transition: color 0.3s;}
.p_main .banner_section .banner_item a:hover .text {color: #169bd5;}
.p_main .banner_section .banner_item:hover {transform: translateY(-5px);}
.p_main .banner_section .banner_item::before {content: ""; position: absolute; width: 120px; height: 120px; left: 50%; top: 0; transform: translateX(-50%); border-radius: 50%; transition: all 0.3s; z-index: 1;}
.p_main .banner_section .banner_item::after {content: ""; position: absolute; left: 50%; top: 30px; transform: translateX(-50%); font-size: 48px; line-height: 60px; z-index: 1;}
.p_main .banner_section .banner_item:hover::before {box-shadow: 0 5px 15px rgba(22, 155, 213, 0.2);}
.p_main .banner_section .banner_item.business::before {background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);}
.p_main .banner_section .banner_item.business::after {content: "📋";}
.p_main .banner_section .banner_item.service::before {background: linear-gradient(135deg, #fce4ec 0%, #f8bbd0 100%);}
.p_main .banner_section .banner_item.service::after {content: "⚙️";}
.p_main .banner_section .banner_item.download::before {background: linear-gradient(135deg, #fff3e0 0%, #ffe0b2 100%);}
.p_main .banner_section .banner_item.download::after {content: "📁";}
.p_main .banner_section .banner_item.location::before {background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);}
.p_main .banner_section .banner_item.location::after {content: "📍";}

.p_main .service_section {width: 1400px; margin: 60px auto 80px; padding: 0 50px;}
.p_main .service_section .service_grid {display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px;}
.p_main .service_section .service_item {position: relative; height: 280px; padding: 42px 40px 0 40px; border-radius: 27px; background: #fff; box-shadow: 3px 8px 13px #ccc; transition: all 0.3s;}
.p_main .service_section .service_item:hover {transform: translateY(-5px);}
.p_main .service_section .service_item h3 {color: #222; font-size: 28px; font-weight: 700;}
.p_main .service_section .service_item h3 span {color: #004986;}
.p_main .service_section .service_item p {margin-top: 16px; color: #333; font-size: 20px; line-height: 30px;}
.p_main .service_section .service_item a {display: block; position: absolute; right: 45px; bottom: 37px; width: 150px; height: 50px; border-radius: 25px; color: #fff; font-size: 20px; text-align: center; line-height: 50px; background: #004986; text-decoration: none; transition: background 0.3s;}
.p_main .service_section .service_item a:hover {background: #003366;}

.p_main .g_area {background: #f2f2f2;}
.p_main .g_area .inner {width: 1400px; margin: 0 auto; padding: 0 50px 60px 50px;}
.p_main .g_area .inner::after {content: ""; display: block; clear: both;}
.p_main .g_area .inner > * {float: left;}
.p_main .g_area .left_col {width: 840px; margin-right: 20px; padding-top: 60px;}
.p_main .g_area .faq {position: relative; height: 500px; border-radius: 27px; background: #fff;}
.p_main .g_area .faq .head {height: 146px; padding: 40px 0 0 50px; border-bottom: 1px solid #e8e8e8;}
.p_main .g_area .faq .head h2 {color: #222; font-size: 30px; font-weight: 700;}
.p_main .g_area .faq .head h2 span {color: #004986;}
.p_main .g_area .faq .head p {margin-top: 6px; color: #888; font-size: 18px;}
.p_main .g_area .faq dl {margin-top: 30px; padding: 0 50px; font-size: 20px; font-weight: 300;}
.p_main .g_area .faq dl > * {position: relative; height: 32px; padding: 0 40px; line-height: 32px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden;}
.p_main .g_area .faq dl a {color: #222; font-size: 20px;}
.p_main .g_area .faq dl .q,
.p_main .g_area .faq dl .a {display: block; position: absolute; left: 0; top: 0; width: 32px; height: 32px; font-size: 0;}
.p_main .g_area .faq dl .q {background: url(../images/ico_q.png) no-repeat;}
.p_main .g_area .faq dl .a {background: url(../images/ico_a.png) no-repeat;}
.p_main .g_area .faq dl dt + dd {margin-top: 10px;}
.p_main .g_area .faq dl dd + dt {margin-top: 30px;}
.p_main .g_area .faq .more {display: block; position: absolute; right: 40px; top: 40px; width: 60px; height: 60px; font-size: 0; background: url(../images/ico_more.png) no-repeat;}

.p_main .g_area .promotion {position: relative; height: 140px; margin-top: 20px; padding: 56px 50px 0 50px; border-radius: 27px; background: #fff;}
.p_main .g_area .promotion::after {content: ""; display: block;}
.p_main .g_area .promotion h2 {float: left; width: 90px; color: #000; font-size: 26px; font-weight: 700; line-height: 26px;}
.p_main .g_area .promotion p {float: left; width: auto; height: 26px; color: #222; font-size: 20px; font-weight: 300; line-height: 26px;}
.p_main .g_area .promotion p strong {color: #004986;}
.p_main .g_area .promotion .more {display: block; position: absolute; right: 40px; top: 40px; width: 60px; height: 60px; font-size: 0; background: url(../images/ico_more.png) no-repeat;}

.p_main .g_area .inner .right_col {width: 440px; padding-top: 60px;}
.p_main .g_area .complaint {position: relative; height: 360px; padding: 42px 40px 0 40px; border-radius: 27px; background: #fff;}
.p_main .g_area .complaint h2 {color: #222; font-size: 28px; font-weight: 700;}
.p_main .g_area .complaint h2 span {color: #004986;}
.p_main .g_area .complaint ul {margin-top: 37px; font-size: 0; text-align: center;}
.p_main .g_area .complaint ul li {display: inline-block; min-width: 120px; vertical-align: top;}
.p_main .g_area .complaint ul li + li {margin-left: 60px;}
.p_main .g_area .complaint ul li a {display: block; padding-top: 137px; color: #333; font-size: 20px; line-height: 30px; background-position: center top;}
.p_main .g_area .complaint ul li a.tech {background: url(../images/ico_complain01.png) no-repeat;}
.p_main .g_area .complaint ul li a.buy {background: url(../images/ico_complain02.png) no-repeat;}
.p_main .g_area .complaint .more {display: block; position: absolute; right: 40px; top: 40px; width: 60px; height: 60px; font-size: 0; background: url(../images/ico_more.png) no-repeat;}

.p_main .g_area .survey {position: relative; height: 280px; margin-top: 20px; padding: 42px 40px 0 40px; border-radius: 27px; background: #fff;}
.p_main .g_area .survey h2 {color: #222; font-size: 28px; font-weight: 700;}
.p_main .g_area .survey h2 span {color: #004986;}
.p_main .g_area .survey p {margin-top: 16px; color: #333; font-size: 20px; line-height: 30px;}
.p_main .g_area .survey a {display: block; position: absolute; right: 45px; bottom: 37px; width: 150px; height: 50px; border-radius: 25px; color: #fff; font-size: 20px; text-align: center; line-height: 50px; background: #004986;}


.p_contactus .map {margin-top: 43px;}
.p_contactus .addr {margin-top: 30px; border-top: 2px solid #666;}
.p_contactus .addr h2 {color: #222; font-size: 20px; font-weight: 500;}
.p_contactus .addr .top {padding-bottom: 14px; border-bottom: 1px solid #dde2e5;}
.p_contactus .addr .top > * {float: left;}
.p_contactus .addr .top::after {content: ""; display: block; clear: both;}
.p_contactus .addr .top .left_col {width: 60%; padding-top: 24px;}
.p_contactus .addr .top dl {margin-top: 26px;}
.p_contactus .addr .top dl + dl {margin-top: 5px;}
.p_contactus .addr .top dl > * {display: inline-block; height: 20px; font-size: 16px; line-height: 20px; vertical-align: top;}
.p_contactus .addr .top dt {width: 120px; color: #222;}
.p_contactus .addr .top dt::before {content: ""; display: inline-block; width: 12px; height: 19px; margin-right: 9px; background: url(../images/ico_position.png) no-repeat; vertical-align: top;}
.p_contactus .addr .top dd {color: #666; font-weight: 300;}
.p_contactus .addr .top .right_col {width: 40%; text-align: right;}
.p_contactus .addr .top .right_col p {display: inline-block; vertical-align: top;}
.p_contactus .addr .top .right_col p:nth-child(1) {width: 167px; padding-top: 27px; color: #666; font-size: 15px; font-weight: 300; line-height: 18px; text-align: left;}
.p_contactus .addr .top .right_col p:nth-child(1) strong {display: block; padding-bottom: 10px; color: #222; font-size: 16px; font-weight: 400;}
.p_contactus .addr .top .right_col p:nth-child(2) {padding-top: 14px;}

.p_contactus .addr .bot {padding-bottom: 28px; border-bottom: 1px solid #dde2e5;}
.p_contactus .addr .bot > * {float: left; width: 50%;}
.p_contactus .addr .bot::after {content: ""; display: block; clear: both;}
.p_contactus .addr .bot .left_col {padding-top: 24px;}
.p_contactus .addr .bot .left_col h2 {padding-bottom: 24px;}
.p_contactus .addr .bot .left_col dl > * {display: inline-block; font-size: 16px;}
.p_contactus .addr .bot .left_col dl + dl {margin-top: 6px;}
.p_contactus .addr .bot .left_col dt {width: 120px; color: #222; line-height: 20px;}
.p_contactus .addr .bot .left_col dt::before {content: ""; display: inline-block; width: 15px; height: 20px; margin-right: 6px; background: url(../images/ico_subway.png) no-repeat; vertical-align: top;}
.p_contactus .addr .bot .left_col dd {color: #666; font-weight: 300;}
.p_contactus .addr .bot .right_col {padding-top: 24px;}
.p_contactus .addr .bot .right_col h2 {padding-bottom: 24px;}
.p_contactus .addr .bot .right_col dl > * {display: inline-block; font-size: 16px;}
.p_contactus .addr .bot .right_col dl + dl {margin-top: 6px;}
.p_contactus .addr .bot .right_col dt {width: 83px; color: #222; line-height: 20px;}
.p_contactus .addr .bot .right_col dt.call::before {content: ""; display: inline-block; width: 15px; height: 20px; margin-right: 6px; background: url(../images/ico_call.png) no-repeat; vertical-align: top;}
.p_contactus .addr .bot .right_col dt.email::before {content: ""; display: inline-block; width: 15px; height: 20px; margin-right: 6px; background: url(../images/ico_email.png) no-repeat; vertical-align: top;}
.p_contactus .addr .bot .right_col dd {color: #666; font-weight: 300;}

/* error page */
.error_page h1 {margin-top: 199px; color: #222; font-size: 48px; font-weight: 500; text-align: center;}
.error_page .inner {width: 690px; margin: 35px auto 0; padding: 40px 0; border: 1px solid #dde2e5; border-radius: 28px; text-align: center;}
.error_page .inner p {display: inline-block; padding: 50px 0 50px 150px; color: #666; font-size: 24px; background: url(../images/ico_error.png) no-repeat left center;}
.error_page .inner .btn {margin-top: 20px;}


.POP_TEMPLATE_INTRO {background-color: #fff;}
.POP_TEMPLATE_INTRO .pop_inner {width: 1200px; height: 100%; overflow: auto;}
.POP_TEMPLATE_INTRO .list {padding: 27px 30px; border-radius: 10px; background: #f5f5f5;}
.POP_TEMPLATE_INTRO .list li {position: relative; padding-left: 16px; color: #666; font-size: 16px;}
.POP_TEMPLATE_INTRO .list li + li {margin-top: 5px;}
.POP_TEMPLATE_INTRO .list li::before {content: ""; display: block; position: absolute; left: 0; top: 9px; width: 6px; height: 6px; border-radius: 50%; background: #222;}
.POP_TEMPLATE_INTRO .list2 {margin-top: 20px;}
.POP_TEMPLATE_INTRO .list2::after {content: ""; display: block; clear: both;}
.POP_TEMPLATE_INTRO .list2 > div {float: left; width: 186px; height: 486px; border-bottom: 1px solid #dde2e5;}
.POP_TEMPLATE_INTRO .list2 > div + div {border-left: 1px solid #dde2e5;}
.POP_TEMPLATE_INTRO .list2 > div:first-child {border-left: 1px solid #dde2e5; border-radius: 10px 0 0 10px;}
.POP_TEMPLATE_INTRO .list2 > div:last-child {width: 190px; border-right: 1px solid #dde2e5; border-radius: 0 10px 10px 0;}
.POP_TEMPLATE_INTRO .list2 > div h2 {height: 66px; border-top: 1px solid #dde2e5; color: #222; font-size: 18px; font-weight: 500; text-align: center; line-height: 66px; background: #e7eef2; margin: 0;}
.POP_TEMPLATE_INTRO .list2 > div:first-child h2 {border-top-left-radius: 10px;}
.POP_TEMPLATE_INTRO .list2 > div:last-child h2 {border-top-right-radius: 10px;}
.POP_TEMPLATE_INTRO .list2 .dep1 {padding: 13px 29px;}
.POP_TEMPLATE_INTRO .list2 .dep1 li {color: #666; font-size: 16px; font-weight: 300;}
.POP_TEMPLATE_INTRO .list2 .dep1 li + li {margin-top: 6px;}
.POP_TEMPLATE_INTRO .list2 .dep2 {height: 419px; padding: 13px 29px; color: #222; font-weight: 300; background: #f5f5f5;}
.POP_TEMPLATE_INTRO .list2 > div:last-child .dep2 {border-bottom-right-radius: 10px;}
.POP_TEMPLATE_INTRO .list2 .dep2 > li {font-size: 16px;}
.POP_TEMPLATE_INTRO .list2 .dep2 > li + li {margin-top: 7px;}
.POP_TEMPLATE_INTRO .list2 .dep2 > li > ul {padding: 2px 0 0 8px;}
.POP_TEMPLATE_INTRO .list2 .dep2 > li > ul > li {font-size: 14px;}
.POP_TEMPLATE_INTRO .list2 .dep2 > li > ul > li + li {margin-top: 2px;}
.POP_TEMPLATE_INTRO .btn_area {margin-top: 20px;}
.POP_TEMPLATE_INTRO .btn_area .btn {width: 320px;}


/* password confirm popup */
.POP_CONFIRM_PWD {background-color: #fff;}
.POP_CONFIRM_PWD .pop_inner {width: 550px; height: 100%; overflow: auto;}
.POP_CONFIRM_PWD .box_1 {text-align: center;}

/* duplicate id check popup */
.POP_DUPID_CONF {background-color: #fff;}
.POP_DUPID_CONF .pop_inner {width: 550px; height: 100%; overflow: auto;}
.POP_DUPID_CONF .box_1 {text-align: center;}
.POP_DUPID_CONF .result {margin-top: 20px; padding: 28px 20px; border-radius: 9px; background: #eee;}
.POP_DUPID_CONF .result span {color: #0465be; font-weight: 700;}

/* survey item search popup */
.POP_SURVEY_ITEM {background-color: #fff;}
.POP_SURVEY_ITEM .pop_inner {width: 1024px; height: 100%; overflow: auto;}

.EgovQustnrItemManageListPopup {background-color: #fff;}
.EgovQustnrItemManageListPopup .pop_inner {width: 1024px; height: 100%; overflow: auto;}

.EgovBoardMstrListPop {background-color: #fff;}
.EgovBoardMstrListPop .pop_inner {width: 1024px; height: 100%; overflow: auto;}

.EgovGroupSearch {background-color: #fff;}
.EgovGroupSearch .pop_inner {width: 800px; height: 100%; overflow: auto;}

.EgovTemplateInqirePopup {background-color: #fff;}
.EgovTemplateInqirePopup .pop_inner {width: 1280px; height: 100%; overflow: auto;}

.POP_GROUP_SEARCH .pop_inner,
.POP_POST_SEARCH .pop_inner,
.POP_PRGFILE_SEARCH .pop_inner {width: 1024px;}

.POP_POST_SEARCH {background-color: #fff;}
.POP_POST_SEARCH .pop_inner {height: 100%; overflow: auto;}

.EgovQustnrManageListPopup {background-color: #fff;}
.EgovQustnrManageListPopup .pop_inner {height: 100%; overflow: auto;}
.EgovQustnrManageListPopup .pop_header {margin-bottom: 29px;}

/* ========================================
   Sample Menu Custom Styles
   ======================================== */

/* EgovDownloadDetail.jsp Styles */
.detail_header {margin: 30px 0; padding: 30px; background: linear-gradient(135deg, #e3f2fd 0%, #f5f5f5 100%); border-radius: 10px; border-left: 4px solid #169bd5;}
.detail_header h3 {margin-bottom: 15px; color: #169bd5; font-size: 28px; font-weight: 700;}
.detail_header .meta {display: flex; gap: 20px; color: #666; font-size: 14px;}
.detail_header .meta span {display: flex; align-items: center; gap: 5px;}

.detail_content {margin: 30px 0; display: flex; gap: 30px;}
.detail_image {flex-shrink: 0;}
.detail_image img {width: 200px; height: 200px; border-radius: 10px; object-fit: cover; box-shadow: 0 2px 8px rgba(0,0,0,0.1);}
.detail_info {flex: 1;}
.download_btn {display: inline-block; padding: 15px 40px; background: #169bd5; color: #fff; text-decoration: none; border-radius: 8px; font-size: 16px; font-weight: 700; transition: all 0.3s; box-shadow: 0 2px 8px rgba(22, 155, 213, 0.3);}
.download_btn:hover {background: #1282b8; box-shadow: 0 4px 12px rgba(22, 155, 213, 0.5); transform: translateY(-2px);}

.specs_table {margin-top: 20px; border: 1px solid #e0e0e0; border-radius: 10px; overflow: hidden;}
.specs_table table {width: 100%; border-collapse: collapse;}
.specs_table th {width: 150px; padding: 15px 20px; background: #f8f9fa; text-align: left; font-weight: 700; color: #333; border-bottom: 1px solid #e0e0e0;}
.specs_table td {padding: 15px 20px; background: #fff; color: #555; border-bottom: 1px solid #f0f0f0;}
.specs_table tbody tr:last-child td, .specs_table tbody tr:last-child th {border-bottom: none;}

.description_section {margin: 40px 0;}
.description_section h3 {margin-bottom: 20px; color: #222; font-size: 24px; font-weight: 700;}
.description_content {padding: 30px; background: #f8f9fa; border-radius: 10px; color: #555; line-height: 1.8; white-space: pre-line;}

.nav_buttons {display: flex; justify-content: space-between; margin: 30px 0; padding: 20px 0; border-top: 2px solid #e0e0e0; border-bottom: 2px solid #e0e0e0;}
.nav_buttons a {display: flex; align-items: center; gap: 10px; padding: 12px 20px; background: #f8f9fa; border-radius: 8px; color: #333; text-decoration: none; transition: all 0.3s;}
.nav_buttons a:hover {background: #169bd5; color: #fff;}
.nav_buttons .prev::before {content: "◀";}
.nav_buttons .next::after {content: "▶";}

.btn_list {text-align: right; margin: 20px 0;}
.btn_list a {display: inline-block; padding: 10px 25px; background: #666; color: #fff; text-decoration: none; border-radius: 5px; font-size: 14px; font-weight: 500; transition: all 0.3s;}
.btn_list a:hover {background: #444;}

/* EgovDownload.jsp Styles */
.search_area {margin: 30px 0; padding: 25px; background: #f8f9fa; border-radius: 10px;}
.search_area form {display: flex; gap: 10px; align-items: center;}
.search_area select {padding: 10px 15px; border: 1px solid #ddd; border-radius: 5px; font-size: 14px;}
.search_area input[type="text"] {flex: 1; padding: 10px 15px; border: 1px solid #ddd; border-radius: 5px; font-size: 14px;}
.search_area button {padding: 10px 30px; background: #169bd5; color: #fff; border: none; border-radius: 5px; cursor: pointer; font-size: 14px; font-weight: 500;}
.search_area button:hover {background: #1282b8;}

.recommend_section {margin: 40px 0;}
.recommend_section h3 {margin-bottom: 20px; color: #222; font-size: 24px; font-weight: 700;}
.recommend_grid {display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px;}
.recommend_item {display: flex; gap: 20px; padding: 25px; background: #fff; border: 1px solid #e0e0e0; border-radius: 10px; transition: all 0.3s;}
.recommend_item:hover {box-shadow: 0 4px 12px rgba(0,0,0,0.1); transform: translateY(-2px);}
.recommend_item img {width: 80px; height: 80px; border-radius: 8px; object-fit: cover;}
.recommend_item .text {flex: 1;}
.recommend_item .text h4 {margin-bottom: 8px; color: #169bd5; font-size: 16px; font-weight: 700;}
.recommend_item .text p {color: #666; font-size: 14px; line-height: 1.6;}

.latest_section {margin: 40px 0;}
.latest_section h3 {margin-bottom: 20px; color: #222; font-size: 24px; font-weight: 700;}
.latest_grid {display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px;}
.latest_item {display: flex; align-items: center; gap: 15px; padding: 15px 20px; background: #f8f9fa; border-radius: 8px; transition: all 0.3s;}
.latest_item:hover {background: #e3f2fd;}
.latest_item .number {width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; background: #169bd5; color: #fff; border-radius: 50%; font-weight: 700; font-size: 14px;}
.latest_item .title {flex: 1; color: #333; font-size: 14px;}
.latest_item .title:hover {color: #169bd5;}
.latest_item .date {color: #999; font-size: 13px;}

.data_table {margin: 40px 0; border: 1px solid #e0e0e0; border-radius: 10px; overflow: hidden;}
.data_table table {width: 100%; border-collapse: collapse;}
.data_table thead {background: #f8f9fa;}
.data_table th {padding: 15px; text-align: center; font-weight: 700; color: #333; font-size: 14px; border-bottom: 2px solid #e0e0e0;}
.data_table td {padding: 15px; text-align: center; border-bottom: 1px solid #f0f0f0; color: #555; font-size: 14px;}
.data_table tbody tr:hover {background: #f8f9fa;}
.data_table td.align_left {text-align: left;}
.data_table td.align_left a {color: #333; text-decoration: none;}
.data_table td.align_left a:hover {color: #169bd5; text-decoration: underline;}

.pagination {display: flex; justify-content: center; align-items: center; gap: 8px; margin: 30px 0;}
.pagination a, .pagination span {display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 1px solid #ddd; border-radius: 5px; color: #666; text-decoration: none; transition: all 0.3s;}
.pagination a:hover {background: #169bd5; color: #fff; border-color: #169bd5;}
.pagination span.active {background: #169bd5; color: #fff; border-color: #169bd5; font-weight: 700;}

.btn_area {text-align: right; margin: 20px 0;}
.btn_upload {display: inline-block; padding: 10px 25px; background: #169bd5; color: #fff; text-decoration: none; border-radius: 5px; font-size: 14px; font-weight: 500; transition: all 0.3s;}
.btn_upload:hover {background: #1282b8;}

/* EgovServiceInfo.jsp Styles */
.service_group {margin-top: 40px; padding: 30px; background: #f8f9fa; border-radius: 10px; border-left: 4px solid #169bd5;}
.service_group h4 {margin-bottom: 20px; color: #169bd5; font-size: 22px; font-weight: 700;}
.service_group .description {margin-bottom: 25px; padding: 20px; background: #fff; border-radius: 8px; color: #333; line-height: 1.8;}
.service_list {list-style: none; padding: 0;}
.service_list li {position: relative; padding: 15px 15px 15px 25px; margin-bottom: 12px; background: #fff; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); line-height: 1.8; color: #555;}
.service_list li:before {content: "✓"; position: absolute; left: 8px; top: 15px; color: #169bd5; font-weight: 700; font-size: 18px;}
.service_list li strong {display: block; margin-bottom: 5px; color: #222; font-size: 16px;}
.intro_box {margin-top: 30px; padding: 25px; background: linear-gradient(135deg, #e3f2fd 0%, #f5f5f5 100%); border-radius: 10px; border: 1px solid #e0e0e0;}
.intro_box p {color: #555; line-height: 1.8; font-size: 16px;}

/* EgovProductInfo.jsp Styles */
.framework_structure {margin-top: 40px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px;}
.framework_item {padding: 30px; background: #f8f9fa; border-radius: 10px; border-left: 4px solid #169bd5;}
.framework_item h4 {margin-bottom: 15px; color: #169bd5; font-size: 20px; font-weight: 700;}
.framework_item p {color: #555; line-height: 1.8;}
.intro_image {text-align: center; margin: 40px 0; padding: 30px; background: #fff; border: 1px solid #e0e0e0; border-radius: 10px;}
.intro_image img {max-width: 100%; height: auto; border-radius: 5px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);}

/* EgovLocation.jsp Styles */
.location_info {margin-top: 40px; padding: 40px; background: #f8f9fa; border-radius: 10px;}
.location_info h3 {margin-bottom: 20px; color: #222; font-size: 24px; font-weight: 700;}
.location_info dl {margin-bottom: 15px;}
.location_info dt {display: inline-block; width: 120px; color: #666; font-weight: 700;}
.location_info dd {display: inline-block; color: #333; line-height: 1.6;}
.transport_section {margin-top: 30px;}
.transport_section h4 {margin: 25px 0 15px 0; padding-left: 15px; border-left: 4px solid #169bd5; color: #222; font-size: 18px; font-weight: 700;}
.transport_section ul {margin-left: 20px;}
.transport_section ul li {position: relative; padding-left: 15px; margin-bottom: 8px; color: #555; line-height: 1.8;}
.transport_section ul li:before {content: "•"; position: absolute; left: 0; color: #169bd5;}
.map_image {text-align: center; margin: 30px 0; padding: 20px; background: #fff; border: 1px solid #e0e0e0; border-radius: 10px;}
.map_image img {max-width: 100%; height: auto; border-radius: 5px;}

/* Form Styles - EgovDownloadModify.jsp */
.modify_form {max-width: 1200px; margin: 0 auto;}
.form_section {margin-bottom: 30px; background: #fff; border-radius: 10px; box-shadow: 0 2px 8px rgba(0,0,0,0.08); overflow: hidden;}
.form_header {padding: 20px 30px; background: linear-gradient(135deg, #f5f7fa 0%, #e8ecf0 100%); border-bottom: 2px solid #169bd5;}
.form_header label {display: block; color: #222; font-size: 18px; font-weight: 700;}
.form_header label.required::after {content: " *"; color: #e74c3c;}
.form_content {padding: 30px;}
.form_meta {display: flex; gap: 30px;}
.form_meta .meta_item {color: #555; font-size: 15px;}
.form_meta .meta_item strong {color: #222; font-weight: 600;}
.input_text_full, .input_text {width: 100%; padding: 12px 15px; border: 1px solid #ddd; border-radius: 5px; font-size: 15px; transition: all 0.3s;}
.input_text_full:focus, .input_text:focus {border-color: #169bd5; outline: none; box-shadow: 0 0 0 3px rgba(22,155,213,0.1);}
.input_file {width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 5px; font-size: 14px; cursor: pointer;}
.input_file:hover {border-color: #169bd5;}
.thumbnail_upload {display: flex; gap: 30px; align-items: flex-start;}
.thumbnail_preview {flex-shrink: 0; width: 180px; height: 129px; border: 2px dashed #ddd; border-radius: 8px; overflow: hidden; display: flex; align-items: center; justify-content: center; background: #f9f9f9;}
.thumbnail_preview img {max-width: 100%; max-height: 100%; object-fit: cover;}
.thumbnail_info {flex: 1;}
.info_text {margin-bottom: 15px; padding: 15px; background: #f0f8ff; border-left: 4px solid #169bd5; border-radius: 5px; color: #555; font-size: 14px; line-height: 1.6;}
.info_text strong {color: #169bd5; font-weight: 600;}
.form_table {width: 100%; border-collapse: collapse;}
.form_table th, .form_table td {padding: 15px; border: 1px solid #e0e0e0;}
.form_table th {background: #f8f9fa; color: #333; font-weight: 600; text-align: left; vertical-align: middle;}
.form_table td {background: #fff; vertical-align: middle;}
.form_table th label {margin: 0; font-size: 15px;}
.form_table th label.required::after {content: " *"; color: #e74c3c;}
.textarea_full {width: 100%; padding: 15px; border: 1px solid #ddd; border-radius: 5px; font-size: 15px; font-family: inherit; line-height: 1.6; resize: vertical; transition: all 0.3s;}
.textarea_full:focus {border-color: #169bd5; outline: none; box-shadow: 0 0 0 3px rgba(22,155,213,0.1);}
.form_actions {display: flex; justify-content: center; gap: 15px; margin-top: 40px; padding-top: 30px; border-top: 2px solid #e0e0e0;}
.btn {display: inline-block; padding: 1px 1px; border: none; border-radius: 5px; font-size: 16px; font-weight: 600; text-decoration: none; text-align: center; cursor: pointer; transition: all 0.3s;}
.btn_primary {background: #169bd5; color: #fff;}
.btn_primary:hover {background: #1280b8; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(22,155,213,0.3);}
.btn_outline {background: #fff; color: #666; border: 2px solid #ddd;}
.btn_outline:hover {border-color: #169bd5; color: #169bd5;}

/* Login Page Styles - EgovLoginUsr.jsp - Styles are defined at the top of this file */

/* Schedule Week List Styles - EgovIndvdlSchdulManageWeekList.jsp */
.schedule_filter_section {background: #fff; border-radius: 10px; box-shadow: 0 2px 8px rgba(0,0,0,0.08); padding: 30px; margin-bottom: 30px;}
.schedule_filter_section .filter_row {margin-bottom: 20px;}
.schedule_filter_section .filter_item {display: flex; align-items: center; gap: 15px;}
.schedule_filter_section .filter_item label {color: #333; font-size: 15px; font-weight: 600; min-width: 80px;}
.schedule_filter_section .select_box {padding: 10px 15px; border: 1px solid #ddd; border-radius: 5px; font-size: 14px; min-width: 200px; cursor: pointer; transition: all 0.3s;}
.schedule_filter_section .select_box:hover {border-color: #169bd5;}
.schedule_filter_section .select_box:focus {border-color: #169bd5; outline: none; box-shadow: 0 0 0 3px rgba(22,155,213,0.1);}
.schedule_navigation {display: flex; gap: 30px; padding-top: 20px; border-top: 1px solid #e0e0e0; flex-wrap: wrap;}
.schedule_navigation .nav_group {display: flex; align-items: center; gap: 10px;}
.schedule_navigation .nav_label {color: #666; font-size: 14px; font-weight: 600; min-width: 40px;}
.schedule_navigation .nav_value {display: inline-block; min-width: 80px; padding: 8px 15px; background: linear-gradient(135deg, #f5f7fa 0%, #e8ecf0 100%); border-radius: 5px; color: #222; font-size: 15px; font-weight: 600; text-align: center;}
.schedule_navigation .btn_nav {display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; background: #fff; border: 2px solid #ddd; border-radius: 5px; color: #666; font-size: 14px; text-decoration: none; transition: all 0.3s;}
.schedule_navigation .btn_nav:hover {border-color: #169bd5; color: #169bd5; background: #f0f8ff;}
.schedule_table_wrap {background: #fff; border-radius: 10px; box-shadow: 0 2px 8px rgba(0,0,0,0.08); overflow: hidden;}
.schedule_table {width: 100%; border-collapse: collapse;}
.schedule_table thead {background: linear-gradient(135deg, #169bd5 0%, #1280b8 100%);}
.schedule_table thead th {padding: 15px; color: #fff; font-size: 15px; font-weight: 600; text-align: center; border-right: 1px solid rgba(255,255,255,0.2);}
.schedule_table thead th:last-child {border-right: none;}
.schedule_table tbody tr {border-bottom: 1px solid #e0e0e0; transition: background-color 0.2s;}
.schedule_table tbody tr:hover {background-color: #f8f9fa;}
.schedule_table tbody tr:last-child {border-bottom: none;}
.schedule_table tbody td {padding: 15px; color: #555; font-size: 14px; line-height: 1.6; vertical-align: top; border-right: 1px solid #f0f0f0;}
.schedule_table tbody td:last-child {border-right: none;}
.schedule_table .date_cell {background: #fafbfc;}
.schedule_table .date_text {display: block; color: #222; font-size: 14px; font-weight: 600; margin-bottom: 4px;}
.schedule_table .day_text {display: block; color: #169bd5; font-size: 13px; font-weight: 500;}
.schedule_table .time_cell {text-align: center;}
.schedule_table .time_link {display: inline-block; padding: 4px 8px; background: #f0f8ff; border-radius: 4px; color: #169bd5; font-size: 13px; text-decoration: none; margin-bottom: 4px; transition: all 0.2s;}
.schedule_table .time_link:hover {background: #169bd5; color: #fff;}
.schedule_table .title_cell {padding-left: 20px;}
.schedule_table .title_link {display: inline-block; color: #333; font-size: 14px; text-decoration: none; margin-bottom: 6px; transition: color 0.2s; line-height: 1.5;}
.schedule_table .title_link:hover {color: #169bd5; text-decoration: underline;}
.schedule_table .user_cell {text-align: center;}
.schedule_table .user_link {display: inline-block; padding: 4px 10px; background: #f5f7fa; border-radius: 4px; color: #555; font-size: 13px; text-decoration: none; margin-bottom: 4px; transition: all 0.2s;}
.schedule_table .user_link:hover {background: #e8ecf0; color: #222;}

/* Schedule Daily List Styles - EgovIndvdlSchdulManageDailyList.jsp */
.schedule_table.daily_schedule .no_data {padding: 60px 20px; text-align: center; background: #fafbfc;}
.schedule_table.daily_schedule .no_data_icon {display: block; font-size: 48px; margin-bottom: 15px; opacity: 0.5;}
.schedule_table.daily_schedule .no_data p {color: #999; font-size: 15px; line-height: 1.6;}

/* Calendar Month Styles - EgovIndvdlSchdulManageMonthList.jsp */
.calendar_wrap {background: #fff; border-radius: 10px; box-shadow: 0 2px 8px rgba(0,0,0,0.08); overflow: hidden; margin-top: 30px;}
.calendar_table {width: 100%; border-collapse: collapse;}
.calendar_table thead {background: linear-gradient(135deg, #169bd5 0%, #1280b8 100%);}
.calendar_table thead th {padding: 15px; color: #fff; font-size: 16px; font-weight: 600; text-align: center; border-right: 1px solid rgba(255,255,255,0.2);}
.calendar_table thead th:last-child {border-right: none;}
.calendar_table thead th.sun {color: #ffcdd2;}
.calendar_table thead th.sat {color: #bbdefb;}
.calendar_table tbody td {width: 14.28%; height: 120px; padding: 8px; border: 1px solid #e0e0e0; vertical-align: top; background: #fff; transition: background-color 0.2s;}
.calendar_table tbody td:hover {background: #f8f9fa;}
.calendar_table tbody td.empty {background: #fafbfc;}
.calendar_table tbody td.sun {background: #fff8f8;}
.calendar_table tbody td.sat {background: #f5f9ff;}
.calendar_table .date_cell {position: relative; min-height: 100px;}
.calendar_table .date_cell a.date_default, .calendar_table .date_cell a.date_sun, .calendar_table .date_cell a.date_sat {display: inline-block; width: 28px; height: 28px; line-height: 28px; text-align: center; color: #333; font-size: 15px; font-weight: 600; text-decoration: none; border-radius: 50%; transition: all 0.2s;}
.calendar_table .date_cell a.date_sun {color: #e74c3c;}
.calendar_table .date_cell a.date_sat {color: #169bd5;}
.calendar_table .date_cell a:hover {background: #169bd5; color: #fff;}
.calendar_table .schedule_list {margin-top: 8px;}
.calendar_table .schedule_item {display: block; padding: 4px 8px; margin-bottom: 4px; background: #e3f2fd; border-left: 3px solid #169bd5; border-radius: 3px; color: #0d47a1; font-size: 12px; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: all 0.2s;}
.calendar_table .schedule_item:hover {background: #169bd5; color: #fff; transform: translateX(3px);}

/* Badge Styles - EgovTemplateList.jsp */
.badge {display: inline-block; padding: 4px 12px; border-radius: 12px; font-size: 13px; font-weight: 500; text-align: center;}
.badge_active {background: #e8f5e9; color: #2e7d32;}
.badge_inactive {background: #ffebee; color: #c62828;}

/* Schedule Registration Form - EgovIndvdlSchdulManageRegist.jsp */
.date_sec {display: flex; align-items: center; gap: 8px; flex-wrap: wrap;}
.date_sec .f_date {width: 117px; height: 46px; border: 0; border-radius: 5px; color: #222; font-size: 16px; font-weight: 300; text-align: center; background: #f7f7f7; padding: 0 10px;}
.date_sec .txt {display: inline-block; margin: 0 8px; color: #666; font-size: 16px;}
.date_sec .txt.bar {margin: 0 12px; font-weight: 700;}
.date_sec .f_select select {width: auto; min-width: 80px; height: 46px; padding: 0 12px; border: 1px solid #dde2e5; border-radius: 5px; color: #222; font-size: 16px; font-weight: 300; background: #fff;}

.radio_wrap {display: flex; gap: 20px; align-items: center;}
.radio_wrap label {display: inline-flex; align-items: center; gap: 8px; font-size: 16px; color: #666; cursor: pointer;}
.radio_wrap label input[type="radio"] {cursor: pointer; width: 18px; height: 18px; margin: 0;}

.file_list {margin-top: 10px; padding: 10px; background: #f8f9fa; border-radius: 6px; min-height: 40px;}
