#pc_wrap { font-size: 14px; }

/* 출석 현황 요약 */
.pc_summary {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.pc_summary_item {
    flex: 1;
    min-width: 140px;
    background: var(--portal-surface, #fff);
    border: 1px solid var(--portal-border, #eee);
    border-radius: 10px;
    padding: 16px;
    text-align: center;
}
.pc_summary_streak {
    background: linear-gradient(135deg, var(--portal-primary, #2F6FED), #2158C9);
    border: none;
}
.pc_summary_streak .pc_summary_label,
.pc_summary_streak .pc_summary_value { color: #fff; }
.pc_summary_label {
    display: block;
    font-size: 12px;
    color: #888;
    margin-bottom: 6px;
}
.pc_summary_value {
    display: block;
    font-size: 20px;
    font-weight: 800;
    color: var(--portal-text, #222);
}

/* 출석 폼 */
#pc_write_wrap {
    background: var(--portal-surface, #fff);
    border: 1px solid var(--portal-border, #eee);
    border-radius: 10px;
    padding: 18px;
    margin-bottom: 20px;
}
.pc_write_row { display: flex; gap: 8px; }
.pc_write_input {
    flex: 1;
    min-width: 0;
    box-sizing: border-box;
    padding: 10px 14px;
    border: 1.5px solid var(--portal-border, #ddd);
    border-radius: 8px;
    font-size: 14px;
    outline: none;
}
.pc_write_input:focus { border-color: var(--portal-primary, #2F6FED); }
.pc_write_btn {
    padding: 10px 22px;
    background: var(--portal-primary, #2F6FED);
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    white-space: nowrap;
}
.pc_write_btn:hover { opacity: .9; }
.pc_write_msg { margin: 0; padding: 8px 0; color: #888; font-size: 14px; text-align: center; }
.pc_write_done { color: var(--portal-primary, #2F6FED); font-weight: 700; }

/* 달력 */
.pc_calendar {
    background: var(--portal-surface, #fff);
    border: 1px solid var(--portal-border, #eee);
    border-radius: 10px;
    padding: 18px;
    margin-bottom: 16px;
}
.pc_calendar_tit { font-size: 15px; font-weight: 700; margin: 0 0 14px; color: var(--portal-text, #222); }
.pc_calendar_grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 6px;
}
.pc_cal_day {
    position: relative;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f7f8fa;
    border-radius: 6px;
    font-size: 12.5px;
    color: #999;
}
.pc_cal_day.pc_cal_today { border: 1.5px solid var(--portal-primary, #2F6FED); color: var(--portal-text, #222); font-weight: 700; }
.pc_cal_day.pc_cal_attended {
    background: var(--portal-primary, #2F6FED);
    color: #fff;
    font-weight: 700;
}
.pc_cal_day.pc_cal_attended .fa { font-size: 8px; position: absolute; bottom: 3px; }

/* 보너스 안내 (클릭 토글) */
.pc_bonus_box {
    background: #eaf1ff;
    border-radius: 10px;
    margin-bottom: 20px;
    overflow: hidden;
}
.pc_bonus_toggle {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: none;
    padding: 14px 16px;
    font-size: 13px;
    font-weight: 600;
    color: var(--portal-primary, #2F6FED);
    cursor: pointer;
    text-align: left;
}
.pc_bonus_toggle span { flex: 1; }
.pc_bonus_arrow { transition: transform .2s; font-size: 12px; }
.pc_bonus_toggle.pc_bonus_open .pc_bonus_arrow { transform: rotate(180deg); }
.pc_bonus_detail { padding: 0 16px 18px; }
.pc_bonus_table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 10px;
    font-size: 13px;
}
.pc_bonus_table:last-child { margin-bottom: 0; }
.pc_bonus_table th {
    background: var(--portal-primary, #2F6FED);
    color: #fff;
    padding: 9px 12px;
    text-align: left;
    font-weight: 700;
}
.pc_bonus_table td {
    padding: 9px 12px;
    border-bottom: 1px solid #f0f0f0;
    color: #555;
}
.pc_bonus_table tr:last-child td { border-bottom: none; }
.pc_bonus_pt { text-align: right; font-weight: 700; color: var(--portal-primary, #2F6FED); }
.pc_bonus_pt_max { color: #e53935; }
.pc_bonus_repeat td {
    text-align: center;
    color: #888;
    font-size: 12px;
    background: #fafbfc;
    padding: 10px 12px;
}

/* 출석 메시지 목록 */
.pc_list { margin: 0; padding: 0; }
.pc_list_item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px solid #f0f0f0;
    font-size: 13.5px;
}
.pc_list_name { font-weight: 700; color: var(--portal-text, #222); flex-shrink: 0; }
.pc_list_content { flex: 1; color: #666; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pc_list_date { flex-shrink: 0; color: #aaa; font-size: 12px; }
.pc_list_empty { text-align: center; padding: 30px 0; color: #aaa; }

.pc_pager { margin-top: 16px; text-align: center; }

@media (max-width: 480px) {
    .pc_summary { flex-direction: column; }
    .pc_calendar_grid { gap: 4px; }
    .pc_list_content { display: none; }
}
