/* 비교과 프로그램 공통 CSS */
.nc-wrap { padding: 20px 0; }
.nc-title { font-size: 22px; font-weight: bold; color: #333; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 2px solid #2196F3; }
.nc-subtitle { font-size: 16px; font-weight: bold; color: #555; margin: 20px 0 10px; }

/* 테이블 */
.nc-table { width: 100%; border-collapse: collapse; margin: 10px 0; }
.nc-table th { background: #f5f5f5; padding: 10px 12px; border: 1px solid #ddd; font-size: 13px; text-align: center; }
.nc-table td { padding: 8px 12px; border: 1px solid #ddd; font-size: 13px; }
.nc-table tr:hover { background: #fafafa; }
.nc-table .tac { text-align: center; }
.nc-table .tar { text-align: right; }

/* 폼 */
.nc-form-table { width: 100%; border-collapse: collapse; }
.nc-form-table th { background: #f5f7fa; padding: 10px 15px; border: 1px solid #ddd; width: 150px; font-size: 13px; text-align: left; vertical-align: top; }
.nc-form-table td { padding: 10px 15px; border: 1px solid #ddd; font-size: 13px; }
.nc-form-table input[type="text"], .nc-form-table select, .nc-form-table textarea { padding: 6px 10px; border: 1px solid #ccc; border-radius: 3px; font-size: 13px; }
.nc-form-table input[type="text"] { width: 300px; }
.nc-form-table textarea { width: 100%; min-height: 80px; }

/* 버튼 */
.nc-btn { display: inline-block; padding: 7px 16px; border: none; border-radius: 3px; font-size: 13px; cursor: pointer; text-decoration: none; }
.nc-btn-primary { background: #2196F3; color: #fff; }
.nc-btn-success { background: #4CAF50; color: #fff; }
.nc-btn-danger { background: #f44336; color: #fff; }
.nc-btn-default { background: #eee; color: #333; border: 1px solid #ccc; }
.nc-btn-sm { padding: 4px 10px; font-size: 12px; }
.nc-btn:hover { opacity: 0.85; }

/* 검색/필터 바 */
.nc-search-bar { background: #f9f9f9; padding: 15px; border: 1px solid #eee; border-radius: 4px; margin-bottom: 15px; }
.nc-search-bar select, .nc-search-bar input[type="text"] { padding: 6px 10px; border: 1px solid #ccc; border-radius: 3px; font-size: 13px; }

/* 탭 */
.nc-tabs { border-bottom: 2px solid #2196F3; margin-bottom: 20px; }
.nc-tabs a { display: inline-block; padding: 10px 20px; color: #666; text-decoration: none; font-size: 14px; }
.nc-tabs a.active { background: #2196F3; color: #fff; border-radius: 4px 4px 0 0; }
.nc-tabs a:hover { background: #e3f2fd; }

/* 카운트 뱃지 */
.nc-count { display: inline-block; background: #e3f2fd; color: #1976D2; padding: 2px 8px; border-radius: 10px; font-size: 12px; margin-left: 5px; }

/* 페이징 */
.nc-paging { text-align: center; margin: 20px 0; }
.nc-paging a { display: inline-block; padding: 5px 12px; margin: 0 2px; border: 1px solid #ddd; color: #333; text-decoration: none; font-size: 13px; }
.nc-paging a.active { background: #2196F3; color: #fff; border-color: #2196F3; }
.nc-paging a:hover { background: #e3f2fd; }

/* 상태 뱃지 */
.nc-badge { display: inline-block; padding: 2px 8px; border-radius: 3px; font-size: 11px; color: #fff; }

/* 카드 리스트 */
.nc-card { border: 1px solid #eee; border-radius: 8px; padding: 20px; margin-bottom: 15px; transition: box-shadow 0.2s; }
.nc-card:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
.nc-card-title { font-size: 16px; font-weight: bold; color: #333; margin-bottom: 8px; }
.nc-card-meta { font-size: 12px; color: #999; }

/* 정보 박스 */
.nc-info { background: #e3f2fd; padding: 15px; border-radius: 4px; margin: 15px 0; font-size: 13px; }
.nc-warning { background: #fff3e0; padding: 15px; border-radius: 4px; margin: 15px 0; font-size: 13px; }

/* 버튼 그룹 */
.nc-btn-group { margin: 15px 0; }
.nc-btn-group .nc-btn { margin-right: 5px; }
