@charset "utf-8";


.plz_login{width:100%;border:0; margin:0 auto; font-size:10pt;color: #b94a48;background-color: #f2dede;border-color: #eed3d7;padding: 8px 35px 8px 14px;margin-bottom: 20px;text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);border: 1px solid #fbeed5;border-radius: 4px;}

.att img{border:0;}
.att table,
.att input,
.att textarea,
.att select{font-size:12px;letter-spacing:normal; }
.att .iCheck{width:13px;height:13px;margin:0;vertical-align:middle}
.att .iText{position:relative;padding:3px 4px;_margin:-1px 0;height:17px;line-height:17px;border:1px solid #a6a6a6;border-right-color:#d8d8d8;border-bottom-color:#d8d8d8;background:transparent}
.att textarea{margin:0;padding:3px 4px;border:1px solid #a6a6a6;border-right-color:#d8d8d8;border-bottom-color:#d8d8d8}



/* 상단 날짜 */

.navi {padding:0; margin:10px 0 5px 0; width:100%; min-height:55px; font-size:14px;}
.navi a{ text-decoration:none; color:#000000}
.navi .cal_navi {position: relative; float:right; min-height:55px; width: 220px;}
.navi .dsp_m {position: absolute;left: 0;bottom: 0;font-weight: bold;font-size: 40px;line-height: 40px;color: #f85a59;}
.navi .dsp_y {font-weight: bold;font-size: 14px;color: #00a1e5;text-align: center;width: 130px;line-height: 20px;position: absolute;right: 0;bottom: 32px;}
.navi .dsp_btn {width: 130px;position: absolute;right: 0;bottom: 0;height: 32px;text-align: center;}


/* 출석 리스트 */

.at_board_title {font-size:12px;}
.at_board_title table{border:0;color:#000;width:100%;   }
.at_board_title th{border:0;padding:8px 10px 8px 10px; text-align:center; white-space:nowrap; height:16px;background:#353535; border-top:1px solid #999;border-bottom:1px solid #cdcdcd;}
.at_board_title th span{display:block;border-left:1px solid #c7c7c7;padding:0 0 0 15px;}
.at_board_title th.title {width:100%;}
.at_board_title td {border:0;border-bottom:1px solid #353535;padding:6px 10px;white-space:nowrap; color:#000000; line-height:17px;}
.at_board_title tr:hover { background:#353535}
.at_board_title td.author,
.at_board_title td.author a{color:#000000; text-decoration:none; padding:0px 5px;}
.at_board_title td.title {width:100%; white-space:normal; text-align:left;letter-spacing:0px;}
.at_board_title .no{ padding-right:0;}
.at_board_title td.point{ font-size:11px; padding:0 0 0 15px; color:#690; text-align:center;}
.at_board_title td.point a{ text-decoration:none; color:#690; }
.at_board_title td.time {font-size:11px; text-align:center; padding:0 0 0 15px;}
.at_board_title td.ip { font-size:11px;}


/* 출석 입력, 버튼 */

.att .msg { border-radius: 5px;font-size: 16pt; position:relative; padding:20px 20px; letter-spacing:-1px; color: #6d6f48; background: #f8f46e url('msg_bg.png') no-repeat right bottom;}
.att .msg .msg_head {font-size:2.5em;color: #2f3324;}
.att .msg .msg_days, .att .msg .msg_point{width: 80%;border-bottom: 1px solid #e6e25d;font-size: 1em;font-weight: bold;padding: 13px 0 10px 37px;}
.att .msg .msg_days {margin-top: 50px;background: url('msg_days.png') no-repeat left center; color:#15b696;}
.att .msg .msg_point {margin-top: 30px;background: url('msg_points.png') no-repeat left center; color:#f7ac00;}
.msg_days_sub, .msg_point_sub{float: right;font-size:2.5em;font-weight:bold;bottom: 0.7em;position: relative;color:#2f3324;}
.msg_days span, .msg_point span{float: right;font-size:0.9em;width: 20px;text-align: center;color:#2f3324;}
.att .msg .msg_btn {cursor: pointer;background:#15b696; color:#474747;margin: 80px 15% 20px 15%;text-align: center; border-radius: 5px; padding: 20px 0;font-size: 1.1em;font-weight: bold;}
.att .msg .submit_btn {cursor: pointer;background:#15b696; color:#474747;width:70%;margin: 80px 15% 20px 15%;text-align: center; border: 0; border-radius: 5px; padding: 20px 0;font-size: 1.1em;font-weight: bold;}



.att .cal { font-weight:bold; text-align:center; border:1px solid #ccc; font-size:12px; margin:20px 0 0 0; position:relative; padding:15px; letter-spacing:-1px;background:#353535;}
.bu{ background:none; border:0; list-style:none;}

.at_header a:link,
.at_header a:focus,
.at_header a:visited {text-decoration:none; color:#797979;}
.at_header a:hover {text-decoration:none; color:#000000 !important; }
.at_header *{ margin:0; padding:0; }
.at_header .at_w{ border:1px solid #ccc; background:#474747; position:relative; text-align:left}

.attendance_button { font-weight:normal; padding:0; }
.attendance_button table{ border:0; padding:0; margin:0; position:relative; }
.attendance_button .item{position:relative;display:inline-block;_margin:0 4px 0 0;}
.attendance_button .iLabel{top:6px;left:5px;color:#666; position:absolute; }
.attendance_button label{margin:0 10px 0 0; }
.attendance_button .iText{margin:0 10px 0 0;background:transparent;width:300px; font-size:12px; padding:3px 5px 3px 5px; border:none;}

.attendance_button .bc {position:absolute; right:0; top:0; padding:1px 10px;}
.attendance_button .cout{border:none; width:15px; padding:0 1px; height:20px; margin:0 2px; color:#000; font-size:12px; text-align:center}
.attendance_button .gret{ background:url(greeting.png) no-repeat center right; font-weight:bold; padding-right:25px;}
.att_btn_click {padding:0; margin:0 0 0 10px; float:right}


/* 받는 포인트 리스트 */

.point_list_body{ margin:20px 0;}
.point_list { width:100%;border:0; margin:0 auto;  color:#797979; overflow:hidden;  border:0; padding:0; border-top:1px solid #111111; border-left:1px solid #111111; font-size:12px;  }
.point_list table{border:1px solid #ccc; border:1px solid #111111; text-align:center}
.point_list td{width: 16%;border:0; padding:8px 5px 8px 5px; border-right:1px solid #111111; border-bottom:1px solid #111111;font-weight:normal; white-space:nowrap; color:#F00; background: #474747; text-align:center }
.point_list td.title{ text-align:center; padding-left:10px; background:#353535; color:#ccc;}
.point_list .caption{font-weight: bold;background:#353535; color:#ccc;}

.per{ background: #39F; color:#474747; padding:2px 5px; font-size:11px;}
.perm{ background: #693; color:#474747; padding:2px 5px; font-size:11px;}
.pery{ background: #F90; color:#474747; padding:2px 5px; font-size:11px;}


/* 달력 */

/*personalTable*/
.personalTable { width:100%; border:0; margin:0 auto; padding:0; table-layout:fixed; color:#fff; /*border-left:1px solid #232323;*/ }
.personalTable a { text-decoration:none; color:#333; }
.personalTable th div { white-space:nowrap; }
.personalTable tr.bg0{ background:#353535;}
.personalTable tr.bg1{ background:#353535;}
.personalTable th,
.personalTable td{ border:0; padding:2px 5px 0px 5px; border-right:1px solid #232323; vertical-align:top;  text-align:left; white-space:nowrap; overflow:hidden; }
.personalTable td:hover {background:#353535; }
.personalTable td:first-child{border-left:1px solid #232323;}
.personalTable th{ background:#3e454d;border-right-color:#000;border-left-color:#000;white-space:nowrap; padding:5px 0; font-size:15px; color:#ccc }
.personalTable th:first-child{border-left:1px solid #3e454d;}
.personalTable td{ border-bottom:1px solid #232323; font-weight:bold; white-space:nowrap; background:#353535; }
.personalTable .sunday { color:#f0777e;}
.personalTable .date.sunday { text-decoration:none; color:#F00;}
.personalTable .saturday { color:#7dbf27;}
.personalTable .date.saturday { text-decoration:none; color:#6799FF;}
.personalTable .center { text-align:center; }
.personalTable .same_height { height:30px; font-weight:bold; }
.personalTable .stamp { position: relative; height: 90px; line-height: 78px; margin:0; text-align:center; font-weight:bold; padding:0; border:0;}
.personalTable .stamp img { width:80px;}
.personalTable .stamp .my_point{}
.personalTable .stamp span{position: absolute;left: 0;width: 30%;color: #FFE400;font-size: 0px;font-weight: bold;}
.personalTable td.days { background:#474747;}
.personalTable td.days.today { background:#4374D9;}


/*수정*/

#attendance_board_modify{ color:#000000; font-size:12px; }
.at_modify_title{ width:100%; font-weight:bold; position:relative; margin:0; padding:10px 0; }
.modify_table {width:100%; text-align:center; border-bottom:1px solid #ccc; border-top:1px solid #ccc;}
.modify_table th{ background:#353535; padding:7px; border-bottom:1px solid #ccc; }
.modify_table th span{display:block;border-left:1px solid #c7c7c7;padding:0 10px;}
.modify_table td{ padding:7px;}
.modify_text { padding:5px; text-align:center}
.fo{ position:relative; padding:10px; margin-bottom:10px; border:1px solid #ccc; background:#353535;}
.mod,
.mod a {width:100%; padding:5px 0; text-align:right;  text-decoration:none; color:#000;}
.mod a:hover,
.mod a:active,
.mod a:focus{ text-decoration:none; color:#000;}
.mod span{ padding-left:10px;}


/*네비게이션*/

.pagination{margin:10px 0;padding:0;line-height:normal; letter-spacing:-0.5px;}
.pagination a,
.pagination strong{position:relative;color:#767676; font-size:12px; vertical-align:top;display:inline-block;text-decoration:none;padding:0 3px; height:15px; line-height:15px; background-color:#474747;z-index:2}
.pagination a:hover,
.pagination a:active,
.pagination a:focus{background-color:#353535}
.pagination strong{color:#f60;font-size:12px;}
.pagination .direction{font-weight:normal;color:#767676;text-decoration:none !important;z-index:1;height:15px; line-height:15px;}
.pagination .direction:hover,
.pagination .direction:active,
.pagination .direction:focus{color:#333;background-color:#474747}

.pagination .direction span{position:relative;display:inline-block;width:0;height:0;font-size:0;line-height:0;vertical-align:top;top:5px;}
.pagination .prev span{border:3px solid;border-top:solid #474747;border-bottom:solid #474747;border-left:0;margin-right:1px;}
.pagination .next span{border:3px solid;border-top:solid #474747;border-bottom:solid #474747;border-right:0;margin-left:1px}


/* 하단위젯추가 */
.ms_wrapper1 {
	margin: 10px;
}

.attend_event.dark {
    position: relative;
    background: linear-gradient(135deg,#0f1117,#151826);
    border-radius: 20px;
    overflow: hidden;
    padding: 40px 20px;
    text-align: center;
    margin-bottom: 30px;
    border:1px solid rgba(255,255,255,0.05);
}

/* 네온 글로우 */
.event_glow {
    position:absolute;
    width:300px;
    height:300px;
    background: radial-gradient(circle, rgba(108,140,255,0.4), transparent);
    top:-80px;
    left:50%;
    transform:translateX(-50%);
    filter:blur(60px);
}

/* 타이틀 */
.event_title {
    font-size:38px;
    font-weight:900;
    color:#fff;
}

.event_title span {
    display:block;
    font-size:12px;
    letter-spacing:3px;
    color:#6c8cff;
    margin-top:5px;
}

/* 설명 */
.event_desc {
    margin-top:15px;
    color:#aaa;
}

.event_desc strong {
    color:#7c9cff;
}

/* 카드 */
.event_rewards {
    display: flex;
    justify-content: center;
}

/* 자동출석 카드 크게 */
.reward_done {
    width: 100%;
    max-width: 500px;
    padding: 25px;
    background: linear-gradient(135deg, #0f172a, #111827);
    border: 2px solid #00d4ff;
    border-radius: 16px;
    text-align: center;
    transform: scale(1.05);
    box-shadow: 0 0 25px rgba(0, 212, 255, 0.35);
    position: relative;
    overflow: hidden;
}

/* 글 강조 */
.reward_done .done_title {
    font-size: 18px;
    font-weight: 700;
    color: #00d4ff;
    margin-bottom: 10px;
}

.reward_done .done_text {
    font-size: 15px;
    font-weight: 600;
    color: #ffffff;
}

/* 📱 모바일 대응 */
@media (max-width: 768px) {

    /* 달력 전체 */
    .personalTable {
        font-size:11px;
    }

    /* 날짜칸 높이 자동 */
    .personalTable .stamp {
        height:auto !important;
        line-height:normal !important;
        padding:10px 0;
    }

    /* 도장 이미지 */
    .personalTable .stamp img {
        width:60px !important;
        max-width:100%;
        height:auto;
    }

    /* 칸 여백 줄이기 */
    .personalTable td {
        padding:4px 2px;
    }

    /* 날짜 숫자 */
    .personalTable .same_height {
        height:auto;
        font-size:12px;
    }

    /* 오늘 강조 */
    .personalTable td.days.today {
        background:#3a5cff;
    }
}

/* ===== 교환소 ===== */
.attend_shop {
    margin-top:40px;
    padding:25px;
    border-radius:18px;
    background:linear-gradient(135deg,#11131a,#1a1d2b);
    border:1px solid rgba(255,255,255,0.05);
}

/* 타이틀 */
.shop_title {
    font-size:22px;
    font-weight:800;
    color:#fff;
    text-align:center;
}

.shop_title span {
    display:block;
    font-size:13px;
    color:#888;
    margin-top:5px;
}

/* 그리드 */
.shop_grid {
    margin-top:25px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:15px;
}

/* 아이템 */
.shop_item {
    background:rgba(255,255,255,0.05);
    border-radius:14px;
    padding:20px;
    text-align:center;
    border:1px solid rgba(255,255,255,0.08);
    transition:0.25s;
}

.shop_item:hover {
    transform:translateY(-5px);
    border-color:#6c8cff;
    box-shadow:0 10px 25px rgba(108,140,255,0.3);
}

.item_title {
    font-size:14px;
    color:#aaa;
}

.item_point {
    font-size:20px;
    font-weight:bold;
    color:#8fa8ff;
    margin:10px 0;
}

.item_desc {
    font-size:12px;
    color:#777;
}

/* 버튼 */
.item_btn {
    margin-top:15px;
    width:100%;
    padding:10px;
    border:none;
    border-radius:10px;
    background:linear-gradient(135deg,#5b7cff,#7a5cff);
    color:#fff;
    font-weight:bold;
    cursor:pointer;
}

.item_btn.disabled {
    background:#555;
    cursor:not-allowed;
}

/* 안내 */
.shop_notice {
    margin-top:25px;
    padding:15px;
    background:rgba(255,255,255,0.05);
    border-radius:12px;
    color:#aaa;
    font-size:12px;
}

.shop_notice ul {
    margin-top:10px;
    padding-left:15px;
}

/* 모바일 */
@media (max-width:768px){
    .shop_grid {
        grid-template-columns:repeat(2,1fr);
    }
}

@media (max-width:480px){
    .shop_grid {
        grid-template-columns:1fr;
    }
}


/* ============================= */
/* 🌙 다크모드 톤 통일 (덮어쓰기) */
/* ============================= */

/* 공통 색상 변수 느낌 */
:root {
    --dark-bg: #1a1d2b;
    --dark-box: #222638;
    --dark-soft: #2a2f45;
    --dark-border: rgba(255,255,255,0.08);
    --accent: #6c8cff;
}

/* ===== 달력 전체 톤 ===== */
.personalTable {
    background: var(--dark-bg);
}

.personalTable th {
    background: #202336 !important;
    color:#aaa !important;
}

.personalTable td {
    background: var(--dark-box) !important;
    color:#ddd;
}

/* hover 부드럽게 */
.personalTable td:hover {
    background: var(--dark-soft) !important;
}

/* 오늘 강조 */
.personalTable td.days.today {
    background: linear-gradient(135deg,#5b7cff,#7a5cff) !important;
    color:#fff;
}

/* 도장 영역 */
.personalTable .stamp img {
    display:block !important;
    width:70px !important;
    height:auto !important;
    margin:0 auto;
}

/* ===== 개근 가산점 ===== */
.point_list {
    border-top:1px solid var(--dark-border);
    border-left:1px solid var(--dark-border);
}

.point_list td {
    background: var(--dark-box) !important;
    border-color: var(--dark-border) !important;
    color:#ccc !important;
}

.point_list td.title {
    background: #202336 !important;
    color:#aaa !important;
}

.point_list .caption {
    background: #202336 !important;
    color:#fff !important;
}

/* ===== 기존 노란 출석박스 다크화 ===== */
.att .msg {
    background: linear-gradient(135deg,#1a1d2b,#222638) !important;
    color:#ddd !important;
}

.att .msg .msg_head {
    color:#fff !important;
}

.att .msg .msg_days,
.att .msg .msg_point {
    border-bottom:1px solid var(--dark-border) !important;
}

.msg_days_sub, .msg_point_sub {
    color:#6c8cff !important;
}

.msg_days span, .msg_point span {
    color:#aaa !important;
}

/* 버튼 */
.att .msg .submit_btn {
    background: linear-gradient(135deg,#5b7cff,#7a5cff) !important;
    color:#fff !important;
}

/* ===== 네비 날짜 ===== */
.navi .dsp_m {
    color:#6c8cff !important;
}

.navi .dsp_y {
    color:#aaa !important;
}

/* ===== 테이블 리스트 ===== */
.at_board_title th {
    background:#202336 !important;
}

.at_board_title td {
    background: var(--dark-box);
    color:#ccc !important;
}

.at_board_title tr:hover {
    background: var(--dark-soft) !important;
}

/* ===== 페이지네이션 ===== */
.pagination a {
    background: var(--dark-box) !important;
}

.pagination a:hover {
    background: var(--dark-soft) !important;
}

.pagination strong {
    color:#6c8cff !important;
}

/* ===== 자연스럽게 전체 통일 ===== */
.att .cal {
    background: var(--dark-bg) !important;
    border:1px solid var(--dark-border);
}

/* ===== 달력 줄 구분 개선 ===== */

/* 전체 셀 라인 밝게 */
.personalTable th,
.personalTable td {
    border-right:1px solid rgba(255,255,255,0.08) !important;
    border-bottom:1px solid rgba(255,255,255,0.08) !important;
}

/* 왼쪽 테두리 */
.personalTable td:first-child,
.personalTable th:first-child {
    border-left:1px solid rgba(255,255,255,0.08) !important;
}

/* 요일 헤더 밑줄 강조 */
.personalTable th {
    border-bottom:1px solid rgba(255,255,255,0.15) !important;
}

/* hover 시 살짝 강조 */
.personalTable td:hover {
    border-color: rgba(255,255,255,0.15) !important;
}

/* ============================= */
/* 📅 달력 둥글게 (wrapper 없이) */
/* ============================= */

/* 테이블 자체를 카드처럼 */
.personalTable {
    border-radius: 18px;
    overflow: hidden;
    background: linear-gradient(135deg,#11131a,#1a1d2b);
    border: 1px solid rgba(255,255,255,0.05);
}

/* 테두리 겹침 제거 */
.personalTable th,
.personalTable td {
    border-right: 1px solid rgba(255,255,255,0.08) !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

/* 좌측 테두리 */
.personalTable th:first-child,
.personalTable td:first-child {
    border-left: none !important;
}

/* 위쪽 둥글게 */
.personalTable th:first-child {
    border-top-left-radius: 18px;
}
.personalTable th:last-child {
    border-top-right-radius: 18px;
}

/* 아래쪽 둥글게 */
.personalTable tr:last-child td:first-child {
    border-bottom-left-radius: 18px;
}
.personalTable tr:last-child td:last-child {
    border-bottom-right-radius: 18px;
}

/* ============================= */
/* 🔥 전체 화면 꽉차게 수정 */
/* ============================= */

html,
body {
    width:100%;
    margin:0;
    padding:0;
    overflow-x:hidden;
}

/* 메인 컨테이너 */
.page_container {
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
}

/* 내부 전체 폭 */
.att,
.attend_event,
.calendar_wrapper,
.personalTable,
.ms_wrapper1,
.attend_shop,
.msg,
.point_list_body,
.at_board_title {
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box;
}

/* 양옆 강제 여백 제거 */
#content,
.content,
.xe_content,
.rhymix_content,
.container,
.wrap {
    padding-left:0 !important;
    padding-right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    max-width:100% !important;
}

/* 네비 */
.navi {
    display:flex;
    justify-content:flex-end;
    width:100%;
}

/* 달력 */
.personalTable {
    width:100% !important;
    margin:20px 0 0 0 !important;
}

/* 자동출석 간격 */
.calendar_wrapper {
    margin-top:50px !important;
    padding-top:10px;
}

/* 🔥 자동출석 ↔ 달력 확실 간격 */
.calendar_wrapper {
    margin-top: 50px !important;
    padding-top: 10px;
}

/* 🔥 달력 테이블이 위로 붙는 경우 방지 */
.personalTable {
    margin-top: 20px !important;
}

.reward_done {
    background: linear-gradient(135deg, #1f2937, #111827);
    border: 2px solid #00d4ff;
    transform: scale(1.1);
    box-shadow: 0 0 20px rgba(0, 212, 255, 0.4);
    position: relative;
    overflow: hidden;
}

/* 반짝 효과 */
.reward_done::before {
    content: "";
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(
        45deg,
        transparent,
        rgba(0, 212, 255, 0.15),
        transparent
    );
    transform: rotate(25deg);
    animation: shine 3s infinite;
}

@keyframes shine {
    0% { transform: translateX(-100%) rotate(25deg); }
    100% { transform: translateX(100%) rotate(25deg); }
}

/* 텍스트 강조 */
.reward_done .done_title {
    font-size: 16px;
    font-weight: 700;
    color: #00d4ff;
    margin-bottom: 6px;
}

.reward_done .done_text {
    font-size: 14px;
    font-weight: 600;
    color: #ffffff;
}


.event_desc {
    margin-bottom: 25px !important;
}