/* ===========================
   근태관리 (Attendance) CSS
   =========================== */

/* 주간 캘린더 */
.att-calendar-nav { display: flex; align-items: center; justify-content: space-between; margin-bottom: 15px; }
.att-calendar-nav .week-range { font-size: 16px; font-weight: 600; color: #333; }
.att-calendar-nav .btn-nav { padding: 6px 12px; }

.table-attendance { font-size: 12px; }
.table-attendance th { text-align: center; vertical-align: middle !important; background: #f8f9fa; }
.table-attendance td { text-align: center; vertical-align: middle !important; padding: 6px 4px !important; min-width: 80px; }

/* 직원명 고정 컬럼 */
.table-attendance th:first-child,
.table-attendance td:first-child {
    position: sticky; left: 0; z-index: 1; background: #fff;
    border-right: 2px solid #ddd !important;
    min-width: 80px; max-width: 100px; font-weight: 600;
    text-align: left; padding-left: 8px !important;
}
.table-attendance thead th:first-child { background: #f8f9fa; z-index: 2; }

/* 셀 스타일 */
.att-cell { cursor: pointer; min-height: 50px; transition: background 0.15s; }
.att-cell:hover { background: #f0f8ff !important; }
.att-cell .att-time { line-height: 1.6; font-size: 12px; }
.att-cell .att-time.late { color: #e74c3c; font-weight: bold; }

/* 오늘 컬럼 */
.att-today { background: #e3f2fd !important; }
.att-today:hover { background: #bbdefb !important; }

/* 주말 컬럼 */
.att-weekend { background: #fafafa !important; color: #999; }

/* 상태 뱃지 */
.label-absent { background-color: #95a5a6; }
.label-nocheck { background-color: #e67e22; }
.label-halfday { background-color: #9b59b6; }
.label-early { background-color: #f39c12; }
.label-vacation { background-color: #3498db; }

/* 요약 통계 */
.att-summary { margin-top: 15px; padding: 15px; background: #f8f9fa; border-radius: 8px; }
.att-summary .stat-item { display: inline-block; margin-right: 20px; }
.att-summary .stat-item .stat-label { font-size: 12px; color: #888; }
.att-summary .stat-item .stat-value { font-size: 18px; font-weight: bold; color: #333; }

/* 출근장소 관리 */
.location-card { background: #fff; border: 1px solid #eee; border-radius: 8px; padding: 15px; margin-bottom: 10px; }
.location-card .loc-title { font-size: 15px; font-weight: 600; margin-bottom: 4px; }
.location-card .loc-detail { font-size: 13px; color: #888; }
.location-card .loc-radius { display: inline-block; padding: 2px 8px; background: #e8f5e9; color: #2e7d32; border-radius: 10px; font-size: 12px; }

/* 지도 placeholder */
.map-placeholder {
    height: 300px; background: #e8eaed; border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    color: #999; font-size: 14px; margin-bottom: 10px;
}

/* 모바일 반응형 */
@media (max-width: 768px) {
    .att-calendar-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .table-attendance td { min-width: 70px; }
    .att-summary .stat-item { display: block; margin-bottom: 8px; }
}
